How can we help you?

Search customer FAQs, step-by-step ERP tutorials, and official knowledge base articles

How does the complete sales and procurement cycle work in Shrelix?

Comprehensive conceptual discussion of how procurement, inventory inwarding, sales orders, tax invoicing, and ledger balance reconciliation connect.

Read step-by-step → Docs Linked

Commercial businesses thrive on rapid, accurate inventory turnover and cash flow management. Shrelix ERP links every phase of the commercial cycle into a synchronized data pipeline:

graph TD

PO[1. Purchase Order] -->|Goods Delivered| PB[2. Inward Purchase Bill]

PB -->|Adds Stock| IBS[(3. Branch Stock Pool)]

PB -->|Credits Payable| PL[Supplier Ledger]

SO[4. Sales Order] -->|Pack & Dispatch| INV[5. Sales Invoice]

IBS -->|Deducts Stock| INV

INV -->|Debits Receivable| SL[Customer Ledger]

PAY[6. Customer Payment] -->|Settles Debt (FIFO)| SL

PAY -->|Cash / Bank Inflow| CASH[Liquid Capital]

CASH -->|Supplier Disbursement| SPAY[7. Supplier Payment]

SPAY -->|Settles Debt| PL


1. Upstream Procurement & Inventory Inwarding

Step 1
Procurement Need: A low-stock alert triggers the creation of a Purchase Order (purchase_orders). Stock levels remain unchanged.
Step 2
Goods Receipt: The vendor delivers the goods. The PO is converted into a Purchase Bill (purchase_bills).
Step 3
Inventory Replenishment: The system automatically adds the received quantities to the destination branch (item_branch_stock) and logs an immutable audit entry in stock_transactions.
Step 4
Accounts Payable: The invoice amount posts to the vendor's ledger balance (purchase_ledger).

2. Downstream Sales & Customer Fulfillment

Step 1
Customer Pre-Order: A client requests items via the digital catalog (pub_catalog.php) or phone. A Sales Order (sale_orders) is created. Stock remains intact.
Step 2
Billing & Fulfillment: When goods are ready, the order converts into a Sales Invoice (invoices).
Step 3
Inventory Depletion: The exact quantities sold deduct from item_branch_stock. If prevent_negative_stock is active, the system halts the sale if shelf inventory is insufficient.
Step 4
Gross Margin Calculation: The line item computes profit immediately by comparing the selling price against the item's purchase_price.
Step 5
Accounts Receivable: Unpaid amounts post to the customer's ledger balance (ledger.php).

3. Cash Settlement & FIFO Debt Liquidation

Step 1
Payment Collection: The customer pays cash, scans the invoice UPI QR code, or transfers via bank. A Payment Voucher (payments) is recorded.
Step 2
FIFO Matching: The system triggers its automated FIFO debt settlement engine, matching unallocated receipts against unpaid bills in chronological order and marking invoices as paid.
Step 3
Reinvestment: Reconciled cash balances provide liquid working capital to disburse vendor payments (purchase_payments), completing the enterprise commercial loop.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How does multi-branch inventory tracking and stock pooling work?

Deep dive into physical stock allocation, effective stock branch resolution, multi-branch pools, and stock movement audit trails.

Read step-by-step → Docs Linked

Managing stock across multiple retail outlets, satellite warehouses, and delivery vans requires clear inventory modeling. Shrelix ERP balances localized store independence with centralized synchronization.


1. Dual-Track Inventory Modeling

Shrelix ERP separates inventory operations into two coordinated business tracking systems:

Step 1
Live Branch Stock Levels: Tracks the real-time physical quantity available for every product across all operational branch locations. This updates automatically whenever items are billed at checkout counters, received via supplier consignments, transferred across stores, or returned by customers.
Step 2
Immutable Stock Audit Ledger: A permanent, chronological history of every physical stock movement. Each entry records the movement direction (inward or outward), exact quantity, triggering business voucher (Sale Invoice, Purchase Bill, Return Credit/Debit Note, or Inter-Branch Transfer), timestamp, and the staff member responsible.

2. Independent vs. Synchronized Stock Branches

Under Organization > Branches, every branch has a sync_stock flag:

graph TD

MainBranch[Main Branch / Central Warehouse: is_default = 1]

Sub1[Billing Counter 1: sync_stock = 1] -->|Shares Stock Pool| MainBranch

Sub2[Delivery Van 2: sync_stock = 1] -->|Shares Stock Pool| MainBranch

IndBranch[Regional Store: sync_stock = 0] -->|Maintains Isolated Stock| IndPool[(Independent Stock Pool)]

A. Independent Branches (`sync_stock = 0`)

  • Represents a physically distant location (e.g., a store in another neighborhood or city).
  • Inward purchases made at this branch add stock only to this branch's pool.
  • Sales bills deplete stock only from this location.
  • Goods moving between independent branches must use formal Stock Transfers (warehouse.php).

B. Synchronized Branches (`sync_stock = 1`)

  • Represents multiple billing counters, POS kiosks, or mobile sales vans operating out of the same physical building or warehouse.
  • Rather than requiring artificial stock transfers between counter registers, all synced branches automatically resolve to the Main Branch stock pool:
  • When an invoice is created at any synced counter, the inventory engine automatically routes the stock deduction directly to the primary store repository.
  • Cashiers always see real-time combined availability across all terminals in that facility.
  • Any sale made at a synced counter instantly decrements the main warehouse stock in real time!

3. Negative Stock Prevention Mechanics

When Prevent Negative Stock is enabled under System > Settings:

Step 1
Before committing any sale or POS invoice, the system resolves the effective branch stock.
Step 2
It verifies that current available shelf inventory is greater than or equal to the requested quantity.
Step 3
If requested_quantity > available_stock, the transaction is safely aborted with a clear alert:

> "Insufficient stock for Wireless Optical Mouse. Available: 2, Requested: 5"

Step 4
This ensures cashiers cannot accidentally sell phantom inventory or create unfulfilled stock deficits.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How does FIFO payment allocation and customer debt settlement work?

Detailed examination of the First-In, First-Out (FIFO) algorithm for allocating unlinked payments and returns across customer invoices.

Read step-by-step → Docs Linked

In trade distribution and wholesale commerce, customers rarely pay invoice-by-invoice. Instead, clients make round-number advance transfers (e.g. ₹50,000), return random batches of defective items for credit, or issue weekly installment checks.

Shrelix ERP resolves this challenge using an automated deterministic First-In, First-Out (FIFO) Ledger Allocation Engine.


The Reconciliation Challenge

Suppose a customer has three outstanding sales invoices:

Step 1
INV-001 (Jan 10): ₹10,000 (Status: udhar)
Step 2
INV-002 (Jan 15): ₹15,000 (Status: udhar)
Step 3
INV-003 (Jan 20): ₹20,000 (Status: udhar)

On January 25, the customer makes an unlinked on-account payment of ₹18,000. Which invoice is paid?


The Shrelix ERP FIFO Resolution Process

When the automated debt settlement engine runs:

flowchart TD

Pools[Compute General Payment Pool & Return Pool] --> Sort[Order Customer Invoices by Date ASC, ID ASC]

Sort --> Loop[Loop Through Invoices Chronologically]

Loop --> Explicit[1. Apply Explicit Invoice-Linked Payments & Returns]

Explicit --> CheckDue{Remaining Due > 0?}

CheckDue -->|Yes| ApplyReturn[2. Deduct from General Return Pool]

ApplyReturn --> ApplyPay[3. Deduct from General Payment Pool]

ApplyPay --> CheckZero{Remaining Due == 0?}

CheckZero -->|Yes| SetPaid[Status = 'paid']

CheckZero -->|No| SetUdhar[Status = 'udhar']

CheckDue -->|No| SetPaid

SetPaid --> Next[Next Invoice]

SetUdhar --> Next

Step 1: Explicit Links Always Take Precedence

If a payment voucher explicitly named INV-002 at the time of entry, that payment is tied directly to INV-002. It is never used to pay off other bills.

Step 2: Return Pool Applied First

Unlinked returns (Credit Notes) reduce debt before cash payments are consumed, preserving liquidity records.

Step 3: Chronological FIFO Liquidation

The general pool of unlinked payments is applied sequentially to the oldest open invoice first:

Step 1
Evaluate INV-001 (₹10,000 due):
  • General pool has ₹18,000.
  • ₹10,000 is consumed to satisfy INV-001.
  • Remaining pool: ₹8,000.
  • INV-001 status updates to paid!
Step 2
Evaluate INV-002 (₹15,000 due):
  • General pool has ₹8,000 remaining.
  • ₹8,000 is consumed against INV-002.
  • Remaining due on INV-002: ₹7,000.
  • General pool is now exhausted (₹0.00).
  • INV-002 status remains udhar.
Step 3
Evaluate INV-003 (₹20,000 due):
  • General pool is empty.
  • INV-003 status remains udhar.

Why FIFO Allocation Matters

  • Prevents Stale Debt: Old invoices are cleared off financial aging reports first.
  • Accurate Interest Calculations: If interest on overdue accounts is evaluated, the oldest bills are cleared first, minimizing customer disputes.
  • Automated Consistency: Cashiers never have to manually figure out which bills to apply payments to.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How does cross-tenant B2B invoice sync work between companies?

Business guide to the B2B network synchronization workflow, trading partner verification, and automated line item reconciliation.

Read step-by-step → Docs Linked

The Shrelix B2B Network Synchronization solves the commercial bottleneck of duplicate data entry between regular trading partners.

Traditionally, a supplier issues a sales invoice, prints a paper copy or emails a PDF, and the receiving company's accounting team spends hours manually re-typing line items, quantities, rates, and GST breakdowns into their purchase registry.

Shrelix ERP transforms this into a seamless, verified digital transmission.


1. The Trading Partner Verification Handshake

Before any financial documents can be exchanged, both organizations establish a mutually authorized digital connection:

Company A (Supplier) Company B (Buyer)

| |

|----- 1. Sends Network Invite (Mobile) ------>|

| |

| [In-App Notification Alert]

| |

|<---- 2. Reviews & Approves Connection -------|

| |

[Connected Status] [Connected Status]

Step 1
Partner Discovery: The supplier enters the buyer's 10-digit registered business phone number under Organization > Network Connections.
Step 2
Authorized Verification: The network validates that the phone number matches an active registered business workspace on Shrelix ERP.
Step 3
Mutual Consent: The buyer receives an immediate alert to review the supplier's identity. Only after explicit approval can invoices be exchanged. Either party can suspend or revoke the connection at any time.

2. Invoicing Transmission Pipeline

When Company A finalizes a standard sales invoice addressed to Company B:

[Company A: Sales Invoice Generated]

|

v

[Encrypted Network Transmission]

  • Supplier Identity & GSTIN
  • Invoice Number & Issue Date
  • Itemized Lines (Descriptions, Quantities, Unit Rates, GST Rates, HSN Codes)
  • Tax Breakdown (CGST, SGST, IGST)
  • Invoice Total
  • |

    v

    [Company B: Inward Notification Alert]

    |

    v

    [Company B: Line Item Reconciliation Review]

  • Smart Item Catalog Suggestions
  • Quantity & Pricing Verification
  • One-Click Approval
  • |

    v

    [Company B: Official Purchase Bill Created & Stock Added]


3. Discrepancy Handling & Item Mapping

Suppliers and buyers frequently use different naming conventions for the exact same physical product (e.g., "Dell Optiplex 7090" vs "Desktop PC Dell Core i7").

Shrelix ERP resolves this through the Interactive Line Item Mapper:

Step 1
Smart Matching: The system analyzes the supplier's line items and automatically recommends the closest match from the buyer's existing product master using HSN codes and keyword proximity.
Step 2
Persistent Association: Once Company B links Company A's product description to their local inventory product, the relationship is remembered. All subsequent invoices from this supplier will automatically pre-populate the matched local item.
Step 3
Instant Item Catalog Creation: If the buyer is stocking an entirely new product for the first time, selecting Create As New Item auto-populates the item title, HSN classification, tax rate, and purchase rate directly into the inventory catalog without manual data entry.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How does GST calculation (CGST, SGST, IGST) work on invoices?

Comprehensive explanation of Goods & Services Tax (GST) rules, place of supply, HSN categorization, reverse charges, and GSTR filing integration.

Read step-by-step → Docs Linked

Shrelix ERP is architected to adhere strictly to the regulatory framework established by the Goods and Services Tax Council of India. This document explains how the software evaluates tax liabilities, determines tax jurisdiction splits, and formats reporting data.


1. Place of Supply & Tax Jurisdiction

Under the Indian GST framework, taxation depends on whether the transaction is an Intra-State Supply or an Inter-State Supply.

Shrelix ERP determines this by comparing the Seller State Code (derived from the first two digits of your company GSTIN in users.gst_number) against the Buyer Place of Supply / State Code (derived from customers.gst_number or state address):

[Seller State: e.g. 27 - Maharashtra]

|

Is Buyer State == 27?

/ \

[YES] [NO]

/ \

INTRA-STATE SUPPLY INTER-STATE SUPPLY

  • CGST = Rate / 2 - IGST = Full Rate
  • SGST = Rate / 2 - CGST = 0, SGST = 0

Example

For an item taxed at 18% on a taxable value of ₹1,000.00:

  • Intra-State Sale (e.g. Pune to Mumbai):
  • CGST (9%) = ₹90.00
  • SGST (9%) = ₹90.00
  • Total Invoice = ₹1,180.00
  • Inter-State Sale (e.g. Pune to Bengaluru):
  • IGST (18%) = ₹180.00
  • Total Invoice = ₹1,180.00

2. B2B vs. B2C Categorization

Indian GST regulations mandate distinct reporting for registered commercial buyers vs. end consumers:

| Category | Identification Rule | Statutory Filing Treatment |

| :--- | :--- | :--- |

| B2B (Business-to-Business) | Customer has a valid 15-character GSTIN. | Invoices are reported individually in GSTR-1 Table 4 with the buyer's GSTIN, invoice number, date, value, and tax rates. Enables buyer to claim Input Tax Credit (ITC). |

| B2C (Business-to-Consumer) | Customer does not have a GSTIN. | Transactions are consolidated by state and tax rate slab into GSTR-1 Table 5 & 7 without disclosing individual customer identities. |


3. Harmonized System of Nomenclature (HSN)

  • Goods (HSN): 4, 6, or 8-digit codes classifying physical commodities.
  • Services (SAC): 6-digit Service Accounting Codes.
  • Shrelix ERP tracks HSN codes at the line-item level. The Tax Report compiles Table 12 (HSN Summary of Outward Supplies) automatically, calculating total quantity, total value, and tax breakdown per HSN code.

4. Reverse Charge Mechanism (RCM)

When goods or services are procured from unregistered suppliers or under notified RCM categories (e.g. goods transport agency services), tax liability shifts from supplier to recipient. Shrelix ERP flags these transactions in tax_report.php to prevent improper credit claims.

Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

What is Shrelix ERP and how does it work?

High-level architectural and functional introduction to the Shrelix cloud enterprise management platform.

Read step-by-step → Docs Linked

Shrelix ERP is a modern, high-performance Cloud Enterprise Resource Planning and Business Management Platform designed specifically for retail, wholesale, distribution, and manufacturing enterprises. It brings together point-of-sale invoicing, purchase management, multi-branch inventory tracking, customer and supplier ledgers, Indian GST compliance, field staff GPS route tracking, and automated customer communication into a unified workspace.

Whether your business operates from a single counter or spans multiple distributed retail branches and central warehouses, Shrelix ERP provides real-time transaction synchronization, audit logging, and automated reconciliation.


What is Shrelix ERP?

At its core, Shrelix ERP is an integrated business operating system that connects commercial workflows end-to-end:

graph LR

Suppliers[Suppliers / Vendors] -->|Purchase Bills & Orders| Inward[Inward Inventory & Warehouse]

Inward -->|Stock Distribution| Branches[Multi-Branch Network]

Branches -->|Sales Invoices & Orders| Customers[Customers & Retail Counters]

Customers -->|Payments & Returns| Ledger[Financial Ledgers & Tax Reports]

Key System Pillars

Step 1
Enterprise Cloud Security & Privacy:

Every organization operates in a dedicated, isolated workspace with enterprise data protection, strict privacy controls, daily automated backups, and 99.9% uptime.

Step 2
Omnichannel Billing & Invoicing:

Fast POS counter billing with barcode scanning, hold/park bills, retail and wholesale pricing modes, thermal receipt printing (58mm/80mm), and standard GST tax invoices (A4/A5).

Step 3
Multi-Branch & Warehouse Stock Control:

Manage central warehouses and branch stores with granular permissions. Enable synchronized stock or independent branch stock pools, automated depletion on sale, and inter-branch transfers.

Step 4
Automated Dual-Entry Accounting & Ledger:

Automated real-time ledger generation with first-in, first-out (FIFO) balance allocation across invoices, customer payments, sale returns, supplier bills, and debit notes.

Step 5
Built-in Indian Tax Compliance:

Native HSN/SAC code tracking, automatic GST breakdown (Intra-state CGST + SGST vs. Inter-state IGST), reverse charge indicators, and comprehensive tax reports compatible with GSTR-1 and GSTR-3B filings.

Step 6
B2B Network Invoice Synchronization:

Connect with other registered companies on the Shrelix ERP network. When a vendor issues a sales invoice, it automatically lands in the buyer's ERP as an inward purchase bill for one-click verification and line item mapping.

Step 7
Field Staff Tracking & Mobile Application:

Native Android field app (ShrelixStaff.apk) providing GPS location telemetry, route history playback, order collection, and customer balance visibility for traveling sales executives.

Step 8
Automated Communication & WhatsApp Gateway:

Dispatch interactive PDF invoice links, payment receipt confirmations, and payment reminder links with instant UPI QR codes over WhatsApp and SMS.


Target Audience & Operational Roles

Shrelix ERP provides role-based access control designed for various organizational roles:

| Role | Primary Activities | Key Accessible Modules |

| :--- | :--- | :--- |

| Business Owner / Super Admin | Overall enterprise governance, subscription management, branch setup, staff permission delegation, and financial auditing. | Full System Access, Central Portal, Financial Reports, Settings, Branches, Staff Management |

| Store Manager | Store sales oversight, inventory replenishment, customer credit approval, and shift reporting. | Sales, Purchases, Stock Transfers, Customer/Supplier Masters, Date-wise Reports |

| Counter Cashier / Billing Staff | High-speed billing, item scanning, hold bills, cash/UPI receipt collection, and receipt printing. | Sale / Invoices, Hold Bills, Customer Quick Search, Payment Entry |

| Warehouse Keeper | Inward consignment receipt, purchase order inspection, stock adjustments, and inter-branch transfers. | Purchase Bills, Items Master, Warehouse, Stock Audit |

| Accountant / CA | Payment reconciliation, supplier payment processing, credit/debit notes, and GST return extraction. | Sales Ledger, Purchase Ledger, Tax Reports, Bank Settings |

| Field Sales Agent | Client visits, route logging, catalog demonstrations, order booking, and field payment collection. | Mobile Staff Portal, Field App (APK), Public Catalogs |


System Requirements & Supported Environments

Shrelix ERP is built as an enterprise web application with companion native Android mobile utilities.

Supported Desktop Browsers

  • Google Chrome (version 100+)
  • Mozilla Firefox (version 100+)
  • Microsoft Edge (Chromium, version 100+)
  • Apple Safari (version 15+)

Mobile & Tablet Requirements

  • Responsive web interface optimized for touch displays, tablets, and smartphones.
  • ShrelixStaff Android App: Requires Android 8.0 (Oreo) or higher with active GPS location services and data connectivity.

Hardware & Peripherals

  • Barcode Scanners: USB, Bluetooth, or wireless 1D/2D HID scanners (plug-and-play).
  • Receipt Printers: Standard 2-inch (58mm) and 3-inch (80mm) ESC/POS thermal printers via direct browser print dialog.
  • Document Printers: Standard laser/inkjet A4 and A5 printers for corporate invoices and tax reports.

Documentation Organization

This documentation portal is structured according to the Diátaxis Documentation Framework, dividing knowledge into four distinct quadrants:

quadrantChart

title Diátaxis Documentation Framework

x-axis Practical (Work) --> Theoretical (Knowledge)

y-axis Acquisition (Learning) --> Application (Reference)

quadrant-1 Reference Documentation

quadrant-2 Explanation Articles

quadrant-3 Tutorials

quadrant-4 How-To Guides

Step 1
Tutorials: Step-by-step learning lessons designed to guide new users to early success without prior configuration experience.
Step 2
How-To Guides: Goal-oriented, recipe-style instructions that solve specific day-to-day operational challenges.
Step 3
Reference: Authoritative descriptions of application forms, configuration settings, calculation formulas, and permissions.
Step 4
Explanations: In-depth conceptual discussions explaining commercial trade cycles, inventory models, and business logic.
Step 5
Troubleshooting: Diagnostic flows and step-by-step solutions for common operational and hardware hurdles.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I log in for the first time and setup my company profile?

Initial workspace setup, signing in, and configuring your corporate profile, bank details, and invoice branding.

Read step-by-step → Docs Linked

Welcome to your new Shrelix ERP organization. This guide walks you through signing in for the first time, establishing your workspace credentials, configuring your company profile, and setting up your bank details for invoices.


1. Accessing Your Workspace

Shrelix ERP operates on a secure multi-tenant structure. Each tenant accesses their system via their designated domain or subpath:

  • Production Cloud: https://erp.shrelix.com/[your-workspace-code]/login.php or https://[your-subdomain].erp.shrelix.com
  • Local Development: http://erp.shrelix.local/login.php

The Login Screen

!Login Screen

Step 1
Open your browser and navigate to the ERP login URL.
Step 2
Enter your registered Username or Email Address.
Step 3
Enter your Password.
Step 4
Click Sign In.

> [!NOTE]

> Upon successful authentication, Shrelix ERP initializes a dedicated session cookie (SHRELIXSESS_[workspace]) with a 30-day persistence window, automatically binding your user permissions and branch affiliation.


2. Navigating to the Business Profile

Immediately after logging in as an administrator, configure your corporate profile. This information directly populates the header, footer, tax information, and bank details on all printed sales invoices, estimates, purchase orders, and customer statements.

Step 1
Locate the left sidebar navigation.
Step 2
Scroll to the System collapsible group.
Step 3
Click Profile (profile.php).

3. Configuring Business Profile Fields

In the Profile Information card, fill out your organization's business details:

| Field Name | Description | Example / Allowed Values | Required |

| :--- | :--- | :--- | :--- |

| Shop / Company Name | Legal or trade name displayed prominently at the top of all invoices and receipts. | Apex Retailers Pvt Ltd | Yes |

| Owner / Manager Name | Primary contact or authorized signatory name. | Rajesh Sharma | Yes |

| Mobile Number | Primary phone number for customer contact and automated WhatsApp dispatch. | +919876543210 | Yes |

| Email Address | Primary administrative email address used for system alerts and password recoveries. | billing@apexretail.com | Yes |

| Business Address | Full physical or postal address printed on invoice headers. Supports multiple lines. | Shop 12, Ground Floor, Central Plaza, M.G. Road, Pune | Yes |

| GST Number (GSTIN) | 15-character Goods and Services Tax Identification Number. | 27AABCU9603R1ZM | Optional |

| System Timezone | Operational timezone for timestamps, transactions, and audit logs. Default is Asia/Kolkata. | Asia/Kolkata (IST, UTC+5:30) | Yes |

| CA Name | Name of your Chartered Accountant for tax communication. | S. K. Mehta & Co. | Optional |

| CA Phone Number | Direct phone number of your CA. | +919822011223 | Optional |


4. Setting Up Bank & UPI Payment Details for Invoices

Shrelix ERP generates printable UPI QR codes and banking settlement details on sales invoices so customers can pay directly from their smartphone banking apps.

In the Bank & Settlement Details section:

Step 1
Bank UPI ID (VPA): Enter your business Virtual Payment Address (e.g., apexretail@okicici or 9876543210@paytm). When entered, an interactive dynamic UPI QR code is automatically generated on all printed A4, A5, and thermal receipts!
Step 2
Account Beneficiary Name: Enter the exact bank account holder name (e.g., Apex Retailers Pvt Ltd).
Step 3
Bank Name: Enter the name of your financial institution (e.g., HDFC Bank Ltd).
Step 4
Bank Account Number: Enter your current or savings account number.
Step 5
Bank IFSC Code: Enter the 11-character Indian Financial System Code (e.g., HDFC0001234).
Step 6
Branch Name: Enter the physical branch location of the account (e.g., Shivaji Nagar Branch).

Click Save Profile Changes to persist your profile updates.


5. System Settings Initialization

Next, configure operational business preferences under System > Settings (settings.php):

Step 1
Warehouse & Stock Management (warehouse_enabled): Enable this toggle if you track physical quantities and inventory valuations.

> [!IMPORTANT]

> Once purchase bills or inward stock entries are created with warehouse tracking enabled, this setting cannot be disabled to preserve audit integrity.

Step 2
Enable HSN Code / Tax Mode (enable_hsn_code):
  • Enabled (ON): Switches the system into official Indian Tax Invoice mode, showing HSN codes, CGST, SGST, and IGST breakdowns.
  • Disabled (OFF): Operates in simplified Estimate / Non-GST Bill mode.
Step 3
Round Off Grand Total (round_off_total): When enabled, invoice totals with fractional paise are rounded mathematically to the nearest integer rupee.
Step 4
Prevent Negative Stock (prevent_negative_stock): When enabled, cashiers and sales staff cannot generate an invoice if available branch stock is less than the requested quantity.
Step 5
Default Sale Mode (default_sale_mode): Choose between Retail (MRP / Retail Price default) or Wholesale (Trade / Wholesale Price default).
Step 6
Invoice Footer Terms (invoice_terms): Customize the standard legal disclaimer, return window, or payment conditions printed at the bottom of customer bills.

Click Save Settings to finalize your configuration.

Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I navigate the Shrelix ERP dashboard and menus?

Understanding the Shrelix ERP user interface, sidebar modules, top bar controls, and multi-branch switching.

Read step-by-step → Docs Linked

The Shrelix ERP user interface is designed for high-density transactional efficiency, fast data entry, keyboard accessibility, and intuitive multi-branch management. This guide details each interface component and navigation convention.


Workspace Layout Overview

The layout consists of three primary interactive zones:

+-----------------------------------------------------------------------------------+

| [Logo] Shrelix ERP [Branch Switcher: Main Branch v] [Bell (3)] [Dark] | Top Header

+-----------------------------------------------------------------------------------+

| * Dashboard | Breadcrumbs: Home / Sales / Create Invoice |

| +-------------------------------------------------+

| > SALES | |

| - Sale / Invoices | |

| - Sale Orders | |

| - Sale Returns | MAIN CONTENT |

| - Customers | AREA |

| - Payments | |

| - Sales Ledger | |

| | |

| > PURCHASES | |

| > INVENTORY | |

| > REPORTS | |

| > ORGANIZATION | |

| > STAFF TRACKING | |

| > COMMUNICATION | |

| > SYSTEM | |

+-----------------------------------+-------------------------------------------------+

Sidebar Navigation Main Workspace


1. The Left Sidebar Navigation

The collapsible left sidebar provides quick access to all functional modules organized into logical business domains.

Sidebar Collapsible Groups

  • Dashboard: Direct link to real-time revenue, receivables, stock alerts, and sales performance charts.
  • Sales:
  • Sale / Invoices (sale.php): Invoicing engine for creating, viewing, and printing sales bills.
  • Sale Orders (sale_orders.php): Customer sales order registry and invoice conversion.
  • Sale Returns (sale_returns.php): Credit notes and item return processing.
  • Customers (customers.php): Customer directory, balances, and branch transfer controls.
  • Payments (payment.php): Customer payment collection and receipt voucher entry.
  • Sales Ledger (ledger.php): Detailed customer debit/credit running balances.
  • Send Payment Link (send_payment_link.php): Instant UPI QR generator and payment link sender.
  • Purchases:
  • Purchase Bills (purchases.php): Inward stock entries and vendor bills.
  • Purchase Orders (purchase_orders.php): Vendor order requests.
  • Purchase Returns (purchase_returns.php): Debit notes and supplier return entries.
  • Suppliers (suppliers.php): Vendor directory and contact records.
  • Purchase Ledger (purchase_ledger.php): Supplier payable balance statements.
  • Inventory:
  • Items (items.php): Product master, SKU, barcode generator, and stock levels.
  • Categories (categories.php): Classification hierarchy.
  • Warehouse (warehouse.php): Stock transfers and audit adjustments.
  • Synced Invoices (synced_invoices.php): Cross-tenant B2B incoming invoice mailbox.
  • Reports:
  • Date-wise Transactions (datewise_report.php): Unified financial transaction audit.
  • Tax Report (tax_report.php): GST tax breakdown (GSTR-1 / GSTR-3B preparation).
  • Commission Report (report_commission.php): Staff commission earnings.
  • Staff Report (report_staff.php): Staff activity and sales contribution.
  • Organization:
  • Branches (branches.php): Multi-location management.
  • Staff (staff.php): User accounts and role permission matrices.
  • Staff Tracking & App:
  • Live Tracking Map (location_dashboard.php): Real-time field GPS positions.
  • Route History (location_history.php): Trajectory and stop duration playback.
  • Tracking Schedule (location_settings.php): Active hours and ping frequency.
  • Staff App & APK (staff_app_share.php): Mobile application download and pairing.
  • Communication:
  • Message Logs (automation_logs.php): WhatsApp and notification dispatch history.
  • System:
  • Settings (settings.php): System parameters, toggles, and WhatsApp setup.
  • Profile (profile.php): Business profile, bank accounts, and credentials.

> [!TIP]

> The sidebar automatically preserves its scroll position across page reloads using browser sessionStorage, ensuring you never lose your place while managing multiple records.


2. Top Header Controls

The top header bar remains fixed while scrolling and provides universal controls:

Multi-Branch Switcher (Super Admin Only)

If your organization operates multiple branches, Super Administrators can filter data context across the entire application using the branch selector dropdown:

  • Specific Branch (e.g., Main Store or Warehouse 1): All transaction lists, item stock numbers, customer balances, and reports display data scoped strictly to that branch.
  • All Branches (all): Enters View-Only Aggregated Mode. You can review unified corporate sales, consolidated item counts, and global ledgers across the entire enterprise.

> [!WARNING]

> While in All Branches mode, creating new sales, adding inward stock, or deleting customers is disabled. The system requires an active, specific branch context so transactions deduct from and credit the correct physical location.

Live Notification Bell

The bell icon displays real-time badges indicating:

  • Incoming B2B Synced Invoices requiring review and approval.
  • Low-stock inventory threshold alerts.
  • Pending partner connection invitations.

Theme Selector (Dark / Light Mode)

Toggle between the crisp, high-contrast Light Mode and the eye-friendly Dark Mode. Your selection is automatically remembered in localStorage.


3. Responsive Mobile Drawer

On mobile devices and tablets:

Step 1
Tap the Hamburger Icon (#sidebar-toggle) in the top left corner.
Step 2
The sidebar slides smoothly into view over a semi-transparent backdrop.
Step 3
Tap any navigation item, the close button (x), or the backdrop to dismiss the drawer.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

Quick Start Guide: How do I get up and running in 15 minutes?

Complete fast-track guide from a blank workspace to issuing and printing your very first sales invoice.

Read step-by-step → Docs Linked

This guide walks you through setting up your catalog, adding your first customer, and issuing your first invoice in 15 minutes.


Step 1: Create an Item Category (2 Minutes)

Categories allow you to organize your catalog, filter inventory, and review segmented sales reports.

Step 1
Navigate to Inventory > Categories (categories.php).
Step 2
In the Add New Category form:
  • Category Name: Enter a descriptive group name (e.g., Electronics, Groceries, or Hardware).
  • Description: Optional summary notes.
Step 3
Click Save Category.

Step 2: Add Your First Item to Inventory (4 Minutes)

Next, create a product record with pricing, tax rate, and initial stock.

Step 1
Navigate to Inventory > Items (items.php).
Step 2
Click Add New Item.
Step 3
Complete the core fields:
  • Item Name: Wireless Optical Mouse
  • Category: Select the category created in Step 1.
  • Unit: Choose Pcs (Pieces), Kg, Box, etc.
  • Purchase Price (₹): 350.00 (Your cost per unit without tax).
  • Retail Sale Price (₹): 600.00 (Standard selling price).
  • Wholesale Price (₹): 500.00 (Discounted bulk price).
  • GST Rate (%): Select 18% (or applicable rate: 0%, 5%, 12%, 18%, 28%).
  • HSN Code: 8471 (Required if HSN mode is enabled in Settings).
  • Opening Stock: Enter initial physical stock count (e.g., 50).
  • Minimum Stock Alert: 5 (System alerts you when stock drops to or below this level).
Step 4
Click Save Item.

> [!TIP]

> Once saved, Shrelix ERP automatically creates a corresponding opening stock record in stock_transactions and assigns the quantity to your active branch.


Step 3: Register a Customer (3 Minutes)

While walk-in cash sales can use a default cash counter customer, saving regular parties allows you to track balances, credit terms, and purchase histories.

Step 1
Navigate to Sales > Customers (customers.php).
Step 2
In the Add Customer form:
  • Customer Name: Rohit Verma
  • Phone Number: +919811223344
  • Billing Address: Plot 45, MG Road, Mumbai
  • GST Number: Optional (enter if customer is a registered B2B business).
Step 3
Click Save Customer.

Step 4: Create the Sales Invoice (4 Minutes)

Now generate the sale transaction.

Step 1
Navigate to Sales > Sale / Invoices (sale.php).
Step 2
In the Customer Details section:
  • Start typing Rohit Verma or select them from the customer dropdown.
  • The phone number, address, and GSTIN automatically populate.
Step 3
In the Line Items table:
  • In the Item Name field, type Wireless or scan the item's barcode.
  • Select Wireless Optical Mouse from the autocomplete suggestions.
  • The unit price (₹600.00), GST percentage (18%), and HSN code populate automatically.
  • Change Quantity to 2.
  • The line item amount and GST compute instantly: Taxable = ₹1,200.00, GST (18%) = ₹216.00, Total = ₹1,416.00.
Step 4
In the Settlement & Payment section:
  • Grand Total: ₹1,416.00.
  • Amount Paid:
  • For full immediate payment: Enter 1416 (Invoice status becomes Paid).
  • For credit / udhar sale: Enter 0 (Invoice status becomes Udhar).
  • For partial payment: Enter e.g. 500 (Remaining ₹916.00 posts to the customer's outstanding balance).
  • Payment Method: Select Cash, UPI, Card, or Bank Transfer.
Step 5
Click Create & Generate Invoice.

Step 5: Print and Share the Invoice (2 Minutes)

Upon saving, the system redirects to the interactive Invoice View (invoice.php / inv.php):

Step 1
Thermal Print (POS): Click Print Thermal to render a compact 58mm or 80mm slip with your logo, itemized rows, and dynamic UPI QR code.
Step 2
A4 / A5 Corporate Print: Click Print A4 for a full-size tax invoice with legal declarations and bank remittance details.
Step 3
Download PDF: Click Download PDF for an offline electronic copy.
Step 4
WhatsApp Share: Click Share on WhatsApp to automatically launch a pre-formatted message to the customer's phone containing their invoice link and amount due!

Congratulations! You have completed the fast-track workflow in Shrelix ERP.

Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I configure Bank Details, Logo & Invoice Notes?

Task-oriented guide on branding customer invoices, uploading logos, configuring bank UPI remittance details, and legal disclaimers.

Read step-by-step → Docs Linked

Your invoices, receipts, and public customer statements serve as your brand's primary customer touchpoint. Shrelix ERP provides full control over corporate identity, banking details, and legal terms.


Prerequisites

  • Super Administrator role.

1. Updating Shop & Corporate Profile

Step 1
Navigate to System > Profile (profile.php).
Step 2
Update the essential brand fields:
  • Shop / Business Name: Displayed at the top of all printed vouchers.
  • Business Address: Multi-line physical address.
  • Mobile Phone & Email: Customer service contact channels.
  • GST Number (GSTIN): Printed on all tax invoice headers.
Step 3
Click Save Profile Changes.

2. Setting Up Dynamic UPI Remittance Details

To enable instant mobile payments directly from printed bills:

Step 1
On the Profile screen, scroll to the Bank & UPI Settlement section.
Step 2
Enter your Bank UPI ID (VPA) (e.g. apexretail@okaxis).
Step 3
Enter your Bank Account Details:
  • Account Name
  • Bank Name
  • Account Number
  • IFSC Code
  • Branch Name
Step 4
Click Save Profile Changes.
Step 5
Once saved, all printed A4, A5, and thermal receipts automatically display an interactive UPI QR code and your NEFT/RTGS bank details in the footer.

3. Customizing Invoice Terms & Legal Declarations

To define standard return policies, warranty disclaimers, or jurisdiction clauses:

Step 1
Navigate to System > Settings (settings.php).
Step 2
Locate the Invoice Terms & Conditions field (invoice_terms).
Step 3
Enter your standard terms (e.g.):
Step 1
Goods once sold will be exchanged within 7 days with original receipt.
Step 2
Warranty claims must be addressed directly to authorized brand service centers.
Step 3
Subject to Pune jurisdiction.
Step 4
Click Save Settings.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I create Items, SKUs, Units & Barcode Labels?

Task-oriented guide on managing product catalog masters, pricing tiers, HSN tax rates, barcode printing, and low-stock alerts.

Read step-by-step → Docs Linked

The Items Master (items.php) is the central product registry in Shrelix ERP. Every commercial item, raw material, or finished good is tracked here with comprehensive pricing tiers, taxation rates, branch-wise stock levels, and barcode identifiers.


Prerequisites

  • User permission inventory or inventory_items.
  • Pre-configured product categories in Inventory > Categories.

Creating a New Item

Step 1
In the sidebar, expand Inventory and click Items (items.php).
Step 2
Click the + Add New Item button.
Step 3
In the modal/form, complete the product specification fields:

Basic Details

  • Item Name: Full descriptive product name (e.g., SanDisk Ultra 64GB MicroSD Card).
  • Category: Select the relevant category from the dropdown.
  • Unit of Measurement (UOM): Select the unit (e.g. Pcs, Kg, Mtr, Box, Set).
  • Description / Specs: Optional technical details, dimensions, or manufacturer model numbers.

Barcode & Identification

  • Barcode / SKU:
  • Enter an existing manufacturer UPC/EAN barcode.
  • Or leave blank / click Generate Barcode to have Shrelix ERP generate a unique random numeric barcode.
  • You can scan any barcode directly into this field using a physical scanner!

Pricing & Taxation

  • Purchase Price (₹): Base cost per unit from your supplier without taxes (e.g., ₹300.00).
  • Retail Sale Price (₹): Selling rate for retail customers without taxes (e.g., ₹500.00).
  • Wholesale Price (₹): Selling rate for bulk B2B trade buyers (e.g., ₹420.00).
  • MRP (₹): Maximum Retail Price (optional, enabled if enable_mrp is toggled in Settings).
  • GST Rate (%): Applicable Indian GST slab (0%, 5%, 12%, 18%, or 28%).
  • HSN / SAC Code: 4, 6, or 8-digit Harmonized System of Nomenclature code (e.g., 8523).

Stock & Inventory Control

  • Opening Stock Quantity: Physical count on hand at the time of creation.
  • Minimum Stock Alert Level: Quantity threshold (e.g., 10). When branch inventory drops to or below this level, the item appears on the Low Stock dashboard alert.
Step 4
Click Save Item.

Printing Barcode Labels

Shrelix ERP includes a built-in barcode label generator for printing stickers onto standard adhesive label sheets or thermal barcode printers:

Step 1
In the Items list table (items.php), locate the product.
Step 2
In the action column, click the Barcode icon.
Step 3
In the printing dialog:
  • Select the number of label copies to print (e.g. 20).
  • Select the paper layout (e.g. Thermal 50x25mm Single Label or A4 24-Up Sheet).
  • Choose whether to show the Item Name, Retail Price, and Shop Name on the label.
Step 4
Click Print Labels. The browser displays the crisp barcode ready for immediate sticker printing.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I create, Edit, and Print Sales Invoices?

Task-oriented guide on issuing sales invoices, applying retail or wholesale pricing, handling taxes, and printing thermal or A4 formats.

Read step-by-step → Docs Linked

This guide explains how to generate, modify, and print customer sales invoices in Shrelix ERP (sale.php).


Prerequisites

  • User account with sales or sales_bills permission.
  • Products created with prices in the Items master.
  • At least one branch configured and selected.

Creating a Sales Invoice

Step 1
Navigate to Sales > Sale / Invoices (sale.php).
Step 2
Select Customer:
  • In the Customer Name field, select an existing customer from the dropdown or type their name to search.
  • For unregistered walk-in buyers, select a designated cash counter customer (e.g., Cash Customer).
  • If shipping to an alternate location, verify or update the Shipping Name, Shipping Phone, and Shipping Address fields.
Step 3
Choose Sale Mode:
  • Toggle between Retail and Wholesale.
  • Choosing Retail loads the item's standard retail selling price (sale_price).
  • Choosing Wholesale loads the item's bulk trade price (wholesale_price).
Step 4
Add Line Items:
  • In the Item Name field, type the item name or scan its barcode.
  • Enter the Quantity.
  • If needed, adjust the unit Price or GST Rate %.
  • Add optional item-level specifications in the Item Description field.
Step 5
Add Extra Charges or Discounts:
  • If applicable, enter Extra Charge (e.g. freight, service, or assembly charges). When extra charges are entered, you must provide an Extra Charge Note explaining the charge.
  • Enter Discount (in ₹) if applying an overall bill concession.
Step 6
Settle Payment:
  • Enter the Amount Paid:
  • Full payment: Equal to Grand Total (Status = paid).
  • Partial payment: Enter amount received (Status = udhar, balance added to customer ledger).
  • No payment: Enter 0 (Status = udhar).
  • Select Payment Method: Cash, UPI, Card, or Bank Transfer.
Step 7
Click Create & Generate Invoice.

Editing an Existing Invoice

To correct an invoice generated earlier:

Step 1
Locate the invoice in Sales > Sale / Invoices or via the search bar.
Step 2
Click the Edit (Pencil) icon.
Step 3
The invoice opens in edit mode (sale.php?id=[invoice_id]).
Step 4
You can modify quantities, add new items, change customer information, or adjust amounts paid.
Step 5
Click Update Invoice.

> [!IMPORTANT]

> When an invoice is updated, Shrelix ERP automatically reverses previous inventory deductions, restores the original quantities to the branch stock pool, and then applies the new updated line quantities to maintain inventory integrity.


Printing Options

Shrelix ERP provides three distinct output formats for invoices:

1. Thermal POS Receipt (58mm / 80mm)

  • On the invoice preview page, click Print Thermal.
  • Formatted without page margins, optimized for standard continuous-roll thermal printers.
  • Includes shop name, date, invoice number, items, taxes, grand total, and a scannable UPI Payment QR Code.

2. Standard A4 / A5 Tax Invoice

  • Click Print A4.
  • Includes complete statutory GST information, seller and buyer GSTINs, state codes, HSN tax summary breakdown table (CGST + SGST or IGST), bank account details, and authorized signature box.

3. Electronic PDF Download

  • Click Download PDF to export a self-contained PDF file using the built-in PDF generator (pdf_invoice.php).
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I generate GST Tax Reports (GSTR-1, GSTR-3B & HSN)?

Task-oriented guide on filtering tax summaries, reconciling CGST, SGST, IGST liability, and exporting return data for your Chartered Accountant.

Read step-by-step → Docs Linked

Shrelix ERP includes a dedicated tax reporting engine (tax_report.php) designed for Indian GST compliance. It segments transactions into B2B and B2C sales, separates intra-state (CGST + SGST) from inter-state (IGST) transactions, computes reverse charge liabilities, and formats HSN summaries for GSTR-1 preparation.


Prerequisites

  • Super Administrator role or permission reports.
  • Enable HSN Code / Tax Mode enabled under System > Settings.

Generating the GST Report

Step 1
Navigate to Reports > Tax Report (tax_report.php).
Step 2
Select Tax Period:
  • Select the target month or quarter (e.g., October 2026 or Q3 2026-27).
  • Or enter custom Date Range bounds.
Step 3
Select Branch: Filter by a specific operating branch or select All Branches for consolidated organization tax returns.
Step 4
Click Generate Tax Report.

Report Sections Explained

The generated report is structured into key regulatory sections:

1. High-Level Tax Summary Cards

  • Total Taxable Value (₹): Net assessable value across all sales invoices after deducting sales returns.
  • Central GST (CGST): 50% split of intra-state tax liability.
  • State GST (SGST): 50% split of intra-state tax liability.
  • Integrated GST (IGST): Full tax rate on inter-state shipments.
  • Gross Output Tax (₹): Total GST liability payable to the government.

2. Table 4: B2B Invoices (Registered Buyers)

Lists all invoices issued to customers with a valid GSTIN:

  • Invoice Number, Date, Customer Name, and Customer GSTIN.
  • Place of Supply (POS state code).
  • Reverse Charge indicator (Yes/No).
  • Invoice Value, Taxable Value, and Tax breakdown.

3. Table 5 & 7: B2C Invoices (Consumer Sales)

Aggregates sales made to retail consumers without GSTINs, broken down by state of supply and applicable tax rate slabs (5%, 12%, 18%, 28%).

4. Table 9: Credit & Debit Notes (Sale Returns)

Details sales returns processed during the period to calculate net output tax deductions.

5. Table 12: HSN Summary of Outward Supplies

Consolidates total quantities sold, units of measure (UQC), total value, taxable value, and integrated/central/state tax grouped by unique HSN Code.


Sharing with Your Chartered Accountant

Step 1
Excel / CSV Export: Click Export to Excel at the top right to download a spreadsheet matching the GST portal offline tool format.
Step 2
Public CA Portal Link: Click Share Tax Report with CA (pub_tax_report.php?token=...). This generates a secure, read-only token link so your tax consultant can view and extract return numbers directly without logging into your ERP!
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I manage Customers & Branch Transfers?

Task-oriented guide on registering customers, tracking receivables, importing contacts, and performing single or bulk branch transfers.

Read step-by-step → Docs Linked

Customer management in Shrelix ERP (customers.php) tracks commercial customer profiles, billing addresses, delivery shipping addresses, GST numbers, live outstanding receivables, and branch assignments.


Prerequisites

  • User permission customers.
  • Active branch selected (to create or edit records).

Registering a Customer

Step 1
Navigate to Sales > Customers (customers.php).
Step 2
In the Add Customer card, enter:
  • Customer Name: Full legal or personal name (e.g. Kavita Enterprises).
  • Mobile Phone: 10-digit mobile number for SMS/WhatsApp communication (e.g. +919822334455).
  • Billing Address: Registered office or shop location.
  • Enable Separate Shipping Address: If enabled in settings, you can record a separate Shipping Name, Shipping Phone, and Shipping Address for warehouse deliveries.
  • GST Number (GSTIN): 15-character GSTIN for B2B tax invoicing.
  • Branch Assignment: Assign the customer to a specific branch or leave unassigned to make them visible to all company locations.
Step 3
Click Save Customer.

Understanding Outstanding Balances

In the Saved Customers list table, review key balance metrics:

  • Invoices: Total count of all sales invoices generated for this client.
  • Total Paid: Sum of all payments received from this customer.
  • Outstanding Due: Calculated automatically by the system formula:
  • $$\text{Outstanding Due} = \max\Big(0,\; (\text{Total Udhar Invoices} + \text{Total Paid Invoices}) - \text{Total Payments} - \text{Total Sale Returns}\Big)$$

  • If the balance is ₹0.00, the account is fully settled.
  • Any positive value represents unpaid receivables currently due from the client.

Transferring Customers Between Branches

When opening a new branch or reallocating territory among sales teams, customers can be moved to another store location:

Single Customer Transfer

Step 1
In the customer table, click the Transfer Branch icon next to the customer.
Step 2
Select the Target Branch.
Step 3
Choose whether to move historical transactions (invoices, orders, payments, and returns) to the target branch.
Step 4
Click Confirm Transfer.

Bulk Customer Transfer

Step 1
Use the checkboxes in the leftmost column to select multiple customers (or check Select All).
Step 2
The Bulk Action Bar appears at the bottom of the screen.
Step 3
Select the Target Branch from the dropdown.
Step 4
Click Transfer Selected Customers. All selected records and their associated transaction histories are safely relocated immediately!
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I record Inward Purchase Bills & Landed Costs?

Task-oriented guide on entering vendor invoices, allocating inward freight charges, updating branch stock, and managing tax credits.

Read step-by-step → Docs Linked

Recording purchase bills accurately is essential for keeping inventory valuations correct, maintaining physical stock counts, and claiming Input Tax Credit (ITC) on GST returns.


Prerequisites

  • User permission purchase_bills.
  • Registered supplier in Purchases > Suppliers.
  • Active branch selected (not in "All Branches" view-only mode).

Step-by-Step Instructions

Step 1
Navigate to Purchases > Purchase Bills (purchases.php).
Step 2
Click + Create Purchase Bill (purchase_create.php).
Step 3
Supplier & Invoice Header:
  • Supplier: Select the vendor from the dropdown. Address and GSTIN auto-fill.
  • Supplier Bill / Invoice No: Enter the vendor's original invoice number (e.g. INV-9021). This must be unique per supplier.
  • Bill Date: Set the invoice date shown on the vendor's physical bill.
Step 4
Line Items Grid:
  • In Item Name, select the incoming product.
  • Enter received Quantity.
  • Enter the vendor's unit Purchase Price (excluding GST).
  • Select the GST Rate % (e.g. 18%).
  • The line taxable amount and GST amount compute automatically.
  • Repeat for all items on the bill.
Step 5
Landed Costs & Freight:
  • If the supplier added shipping, handling, or insurance, enter the charge in Extra Charges (₹).
  • Provide an explanation in Extra Charge Note (e.g. Transportation & unloading).
  • If a supplier discount was granted, enter Discount (₹).
Step 6
Payment & Settlement:
  • Enter Amount Paid (if paid immediately) or enter 0.00 for credit purchases.
  • Choose the Payment Method (e.g., Bank Transfer, Cheque, UPI).
Step 7
Click Save Purchase Bill.

Effects on the ERP System

Upon clicking Save:

Step 1
Branch Stock Increased: Inward quantities immediately add to item_branch_stock for your active branch.
Step 2
Item Purchase Price Updated: If the inward rate changed, the item's purchase_price is updated to reflect the latest replacement cost.
Step 3
Stock Audit Log: An inward movement is recorded in stock_transactions with reference_type = 'purchase'.
Step 4
Accounts Payable: The unpaid portion of the bill is credited to the supplier's balance in purchase_ledger.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I create Branches & Synced Stock Locations?

Task-oriented guide on setting up retail branch outlets, warehouses, default store locations, and stock synchronization rules.

Read step-by-step → Docs Linked

Shrelix ERP supports distributed multi-location enterprises. You can configure physical branch stores, warehouses, and satellite outlets, assigning dedicated staff and tracking localized inventory.


Prerequisites

  • Super Administrator role.
  • Available branch quota within your subscription plan (Starter: 1 branch; Professional/Enterprise: multi-branch).

Adding a New Branch

Step 1
Navigate to Organization > Branches (branches.php).
Step 2
Click + Add Branch.
Step 3
In the branch setup form:
  • Branch Name: A unique descriptive location title (e.g. Kothrud Retail Outlet or Central Logistics Hub).
  • Branch Code: A short 2 to 4 letter code used in document serials (e.g., KTRD or CENT).
  • Phone Number: Store landline or branch manager's mobile.
  • Address: Full physical address of the store.
  • Designate as Default Branch: Check this box if this is your primary headquarters or billing hub.
Step 4
Stock Synchronization Mode (sync_stock):
  • Independent Branch (Unchecked / 0): Maintains its own independent inventory pool. Sales at this branch only deduct stock held physically at this location.
  • Synced Stock Branch (Checked / 1): Shares a synchronized stock pool with the Main Branch. Perfect for counter terminals, billing kiosks, or mobile sales vans operating out of the central store.
Step 5
Click Save Branch.

Assigning Staff to a Branch

Once a branch is established:

Step 1
Navigate to Organization > Staff (staff.php).
Step 2
Edit or create staff accounts and select the new branch from the Assign Branch dropdown.
Step 3
When the staff member signs in, their transaction screen, customer views, and inventory availability are automatically scoped to their designated branch!
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I filter & Export Date-Wise Transaction Reports?

Task-oriented guide on filtering comprehensive sales, purchase, and payment transactions across branches and payment methods.

Read step-by-step → Docs Linked

The Date-Wise Transaction Report (datewise_report.php) is the primary operational ledger in Shrelix ERP, providing unified visibility into sales bills, payment collections, purchase expenses, and returns across any selected timeframe.


Prerequisites

  • User permission reports or Super Administrator role.

Generating the Report

Step 1
Navigate to Reports > Date-wise Transactions (datewise_report.php).
Step 2
Configure your filter criteria:
  • Date Range: Select from standard presets (Today, Yesterday, This Week, This Month, Custom Range).
  • Transaction Type:
  • All Transactions: Combined financial view.
  • Sales Only: Sales invoices and counter bills.
  • Purchases Only: Inward purchase bills and vendor invoices.
  • Payments Only: Inward customer payments.
  • Branch: Choose a specific store or All Branches.
  • Payment Method: Filter by settlement channel (Cash, UPI, Card, Bank Transfer).
Step 3
Click Apply Filters.

Reviewing Financial Summaries

At the top of the report, key totals update dynamically based on your filters:

  • Total Invoiced Sales (₹): Gross sales revenue for the filtered period.
  • Total Cash Inflow (₹): Actual liquid collections received.
  • Total Credit (Udhar) Extended (₹): Unpaid balance remaining on invoices issued during the period.
  • Total Inward Purchases (₹): Vendor inventory investment.

Exporting for Accounting

  • Print Friendly View: Click Print Report to generate a clean, header-formatted audit statement suitable for daily cash drawer reconciliation.
  • CSV / Excel Download: Click Export to Excel to analyze transaction lines, cashier IDs, and customer names in your spreadsheet software.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I manage Purchase Orders & Convert to Bills?

Task-oriented guide on creating procurement purchase orders, issuing POs to suppliers, and converting fulfilled orders into purchase bills.

Read step-by-step → Docs Linked

A Purchase Order (PO) is a formal commercial document sent to a supplier authorizing the shipment of goods at agreed prices and delivery schedules. In Shrelix ERP, Purchase Orders help you track pending orders and easily convert received shipments into purchase bills.


Prerequisites

  • Plan feature Orders enabled.
  • User permission purchase_orders.

Creating a Purchase Order

Step 1
Navigate to Purchases > Purchase Orders (purchase_orders.php).
Step 2
Click + Create Purchase Order (purchase_order.php).
Step 3
Select the Supplier Name.
Step 4
Set the PO Date and Expected Delivery Date.
Step 5
Add items, required quantities, and target unit prices.
Step 6
Enter shipping instructions or supplier notes (e.g. Deliver to Central Warehouse Dock B).
Step 7
Click Save Purchase Order.
Step 8
A PO number is generated (e.g., PO-20261018-0004).

Printing and Sending the PO to the Vendor

Step 1
In the Purchase Orders list, click View / Print (pdf_purchase_order.php / purchase_order_view.php).
Step 2
Download the formal PDF or email/WhatsApp the purchase order document directly to the supplier's sales representative.

Converting a Received PO into a Purchase Bill

When the supplier delivers the consignment with their tax invoice:

Step 1
In the Purchase Orders table, locate the order.
Step 2
In the action column, click Convert to Bill (purchase_order_invoice.php).
Step 3
The inward purchase form opens with:
  • Supplier details pre-selected.
  • All ordered items, quantities, and prices pre-loaded.
Step 4
Enter the vendor's actual printed Supplier Bill Number.
Step 5
Adjust quantities if only a partial shipment was received.
Step 6
Enter payment details (amount paid and payment mode).
Step 7
Click Save Purchase Bill.
Step 8
Physical inventory is added to your branch, the purchase transaction is booked, and the PO status updates to received.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I manage Sales Orders & Convert to Invoices?

Task-oriented guide on recording sales orders, managing order statuses, and converting approved orders into tax invoices.

Read step-by-step → Docs Linked

Sales Orders allow your business to take advance bookings, reserve stock for future dispatch, and convert approved customer requests into tax invoices without re-typing.


Prerequisites

  • Plan feature Orders enabled on your active subscription.
  • User permission sales_orders.

Creating a Sales Order

Step 1
Navigate to Sales > Sale Orders (sale_orders.php).
Step 2
Click + Create Sale Order (sale_order.php).
Step 3
Select the Customer Name.
Step 4
Set the Order Date and optional Expected Delivery Date.
Step 5
Add line items, quantities, and agreed prices.
Step 6
Enter optional order notes or delivery instructions.
Step 7
Click Save Sale Order.
Step 8
The order is assigned an identifier (e.g. SO-20261018-0005) with initial status pending.

> [!NOTE]

> A Sales Order records customer intent and commitment, but does NOT deduct physical inventory or affect customer financial ledgers until it is converted into a Sales Invoice.


Converting a Sales Order into an Invoice

When order packing is complete and the goods are ready for delivery:

Step 1
In the Sale Orders list (sale_orders.php), locate the order.
Step 2
In the action column, click Convert to Invoice (sale_order_invoice.php).
Step 3
The invoice creation form opens with:
  • Customer information already filled.
  • All line items, rates, and GST rates loaded.
  • Live branch stock levels checked.
Step 4
Verify or adjust quantities (if doing a partial dispatch).
Step 5
Enter the Amount Paid and select the payment mode.
Step 6
Click Generate Invoice.
Step 7
The system:
  • Creates the official Sales Invoice (invoices).
  • Depletes branch stock in item_branch_stock.
  • Records movement in stock_transactions.
  • Updates the original Sales Order status to converted.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I manage Suppliers & Vendor Records?

Task-oriented guide on managing vendor profiles, contact details, bank accounts, and accounts payable balances.

Read step-by-step → Docs Linked

The Suppliers Master (suppliers.php) maintains vendor records, contact persons, tax registration numbers, bank settlement accounts, and accounts payable balances.


Prerequisites

  • User permission suppliers.

Adding a Supplier

Step 1
Navigate to Purchases > Suppliers (suppliers.php).
Step 2
Complete the supplier entry form:
  • Supplier Name: Company or distributor trade name (e.g. Balaji Fasteners & Hardware).
  • Contact Phone: Business or representative mobile number.
  • Email Address: Accounts or ordering email address.
  • Postal Address: Factory or depot address.
  • GST Number (GSTIN): 15-character vendor tax number.
  • Bank Account Details:
  • Bank Name: e.g., State Bank of India
  • Account Number: e.g., 389201928312
  • IFSC Code: e.g., SBIN0004521
  • Account Name: e.g., Balaji Fasteners Pvt Ltd
Step 3
Click Save Supplier.

Monitoring Accounts Payable & Outstanding Due

In the suppliers table:

  • Total Bills: Sum of all inward purchase bills recorded from this vendor.
  • Total Paid: Total amount disbursed to the vendor via purchase_payment.php.
  • Outstanding Payable:
  • $$\text{Payable Balance} = \max\Big(0,\; \text{Total Bills} - \text{Total Payments} - \text{Total Purchase Returns}\Big)$$

  • Click the Ledger (Book) icon next to any supplier to view their complete statement in purchase_ledger.php.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I transfer Stock Between Branches & Warehouses?

Task-oriented guide on relocating physical inventory between stores, central warehouses, and retail branches.

Read step-by-step → Docs Linked

When your business operates multiple locations (e.g., a Central Warehouse and several retail branches), Shrelix ERP allows you to transfer stock between locations while maintaining complete audit trails and preventing stock loss.


Prerequisites

  • Warehouse & Stock Management enabled under System > Settings.
  • User permission warehouse.
  • At least two branches configured under Organization > Branches.

Initiating a Stock Transfer

Step 1
Navigate to Inventory > Warehouse (warehouse.php).
Step 2
Click on the Stock Transfer tab.
Step 3
In the transfer form:
  • Source Location (From Branch): Select the branch or warehouse where goods are currently stored (e.g., Central Warehouse).
  • Destination Location (To Branch): Select the receiving branch (e.g., Downtown Retail Outlet).
  • Transfer Date: Current date or scheduled dispatch date.
  • Notes / Reason: Optional internal remarks (e.g., Weekly store replenishment).
Step 4
Select Items and Quantities:
  • In the item search row, select the product (e.g., Wireless Optical Mouse).
  • The system displays the currently available stock at the source location (e.g., Available: 45).
  • Enter the Transfer Quantity (e.g., 15).
  • Add additional product rows as needed.
Step 5
Click Execute Stock Transfer.

What Happens Behind the Scenes?

Upon executing the transfer:

Step 1
Source Deduction: The source branch's quantity in item_branch_stock decrements by -15.
Step 2
Destination Addition: The destination branch's quantity in item_branch_stock increments by +15.
Step 3
Audit Trail: Two linked records are created in warehouse_transactions and stock_transactions:
  • An outward movement (transfer_out) for the sending location.
  • An inward movement (transfer_in) for the receiving location.
Step 4
Delivery Challan: You can print a Transfer Delivery Challan to accompany the goods during transit.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I add Staff & Configure Granular Role Permissions?

Task-oriented guide on managing user credentials, configuring modular access permissions, locking accounts, and branch isolation.

Read step-by-step → Docs Linked

Shrelix ERP features a granular role-based access control (RBAC) engine (staff.php). Administrators can configure exact module permissions per employee, preventing unauthorized access to sensitive financial metrics or supplier costs.


Prerequisites

  • Super Administrator role.
  • Available user quota within your organization's subscription plan.

Adding a Staff Member

Step 1
Navigate to Organization > Staff (staff.php).
Step 2
Click + Add Staff.
Step 3
In the user form:
  • Full Name: e.g., Pooja Sharma
  • Login Username: Unique login identifier (e.g., pooja_cashier).
  • Email Address: e.g., pooja@apexretail.com.
  • Mobile Phone: e.g., +919833221100.
  • Password: Initial login password.
  • Assign Branch: Select the physical branch where the staff member operates.
Step 4
Access Permissions Matrix:

Select only the specific checkboxes required for their job responsibility:

| Section | Checkbox Option | Access Granted |

| :--- | :--- | :--- |

| Sales | Sale / Invoices (perm_sales_bills) | Create and view customer sales invoices. |

| | Sale Orders (perm_sales_orders) | Manage customer sales orders. |

| | Sale Returns (perm_sales_returns) | Process customer returns & credit notes. |

| | Customers (perm_customers) | View and create customer records. |

| | Payments (perm_payments) | Collect and record customer payments. |

| | Sales Ledger (perm_sales_ledger) | View customer accounts and running balances. |

| Purchases | Purchase Bills (perm_purchase_bills) | Create and view inward purchase bills. |

| | Purchase Orders (perm_purchase_orders) | Manage procurement purchase orders. |

| | Purchase Returns (perm_purchase_returns) | Process returns to suppliers. |

| | Suppliers (perm_suppliers) | Access vendor directory. |

| | Purchase Ledger (perm_purchase_ledger) | View accounts payable statements. |

| Inventory | Items (perm_inventory_items) | Access product catalog and barcodes. |

| | Categories (perm_categories) | Manage product classification. |

| | Warehouse (perm_warehouse) | Perform stock transfers and adjustments. |

| Reports | Datewise Report (perm_reports) | Review daily transaction logs. |

| Settings | Settings (perm_settings) | Access system configuration toggles. |

Step 5
Click Save Staff.

Locking an Account (Emergency Access Revocation)

If an employee resigns, goes on extended leave, or a security audit is underway:

Step 1
Locate the employee in the staff table (staff.php).
Step 2
Click the Lock (Padlock) icon in the actions column.
Step 3
The account status immediately toggles to Locked (is_locked = 1).
Step 4
While locked, if the employee attempts to log in or create any transaction, Shrelix ERP blocks them with an alert:

> "🔒 Your account is locked. You cannot create sales or add items. Please contact the administrator."

Step 5
Click Unlock at any time to restore access without deleting their transaction history.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I issue Purchase Returns & Debit Notes?

Task-oriented guide on returning goods to suppliers, deducting stock, issuing debit notes, and reducing accounts payable.

Read step-by-step → Docs Linked

When received goods are damaged, defective, expired, or do not match specifications, you can issue a Purchase Return (Debit Note). Shrelix ERP deducts the returned inventory from your branch and credits the financial return value against your supplier's payable ledger balance.


Prerequisites

  • User permission purchase_returns.
  • Active branch selected.

Processing an Inward Bill-Linked Return

Step 1
Navigate to Purchases > Purchase Returns (purchase_returns.php).
Step 2
Click + Create Purchase Return (purchase_return.php).
Step 3
In Link to Purchase Bill, enter or select the original supplier bill number.
Step 4
Click Fetch Bill Details:
  • Supplier identity and bill date load automatically.
  • All items purchased on that bill appear in the return table.
Step 5
In the return quantity column, enter the exact quantity being returned to the vendor. Set non-returned items to 0.
Step 6
Select the Return Reason (e.g. Damaged in transit, Wrong specifications, Expired).
Step 7
Review the taxable total and GST reversal calculations.
Step 8
Click Save Purchase Return.

Processing an Independent / Direct Purchase Return

If the original purchase bill number is unavailable:

Step 1
Open purchase_return.php.
Step 2
Leave the bill number blank.
Step 3
Select the Supplier Name directly.
Step 4
Add the items and return quantities manually.
Step 5
Click Save Purchase Return.

System Impact

Upon saving:

Step 1
Inventory Deducted: The returned item quantities are deducted from your branch stock in item_branch_stock.
Step 2
Stock Audit Record: An outward movement record (type = 'out', reference_type = 'purchase_return') is logged in stock_transactions.
Step 3
Supplier Accounts Payable Reduced: The total return value is debited from your supplier's balance in purchase_ledger using automated FIFO allocation.
Step 4
Debit Note Document: You can print or download the official Debit Note PDF (pdf_purchase_return.php) to send to the vendor for accounting acknowledgment.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I perform Physical Audits & Stock Adjustments?

Task-oriented guide on reconciling physical stock counts with software records and recording shrinkage, damage, or found inventory.

Read step-by-step → Docs Linked

Physical inventory counts rarely match electronic records perfectly due to damage, shrinkage, leakage, supplier packaging discrepancies, or clerical counting errors. Shrelix ERP provides a dedicated Stock Adjustment tool to reconcile variances with strict accountability.


Prerequisites

  • Warehouse & Stock Management enabled.
  • User permission warehouse.
  • Active branch selected.

Step-by-Step Stock Adjustment

Step 1
Navigate to Inventory > Warehouse (warehouse.php).
Step 2
Click on the Stock Adjustment tab.
Step 3
Select the Branch / Location where the audit is taking place.
Step 4
Select the Item Name to adjust.
  • The screen shows the current System Calculated Stock (e.g., 32 Pcs).
Step 5
Choose the Adjustment Type:
  • Set Exact Physical Stock: Enter the actual counted quantity found on shelves (e.g. 30). The system automatically calculates the variance (-2 Pcs).
  • Add Stock (+): Manually add newly found units (e.g., +5).
  • Deduct Stock (-): Manually remove lost, broken, or expired items (e.g., -2).
Step 6
Select the Reason Code:
  • Physical Audit Reconciliation
  • Damaged / Broken in Store
  • Expired / Obsolete Goods
  • Theft / Shrinkage
  • Clerical Correction
Step 7
Enter mandatory Adjustment Remarks explaining the discrepancy.
Step 8
Click Confirm Stock Adjustment.

Audit Trail & Security Records

  • Every stock adjustment creates a permanent record in warehouse_transactions and stock_transactions.
  • The entry records the staff member ID who made the adjustment, the exact timestamp, the reason note, and the variance.
  • Adjustments are highlighted on the Warehouse Audit Log for owner review to prevent inventory manipulation.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I process Sales Returns & Issue Credit Notes?

Task-oriented guide on accepting customer returns, restoring inventory, issuing credit notes, and adjusting ledger balances.

Read step-by-step → Docs Linked

When a customer returns merchandise due to defects, cancellations, or exchanges, Shrelix ERP handles the complete return cycle: restoring stock to your active branch, issuing a formal Credit Note, and automatically deducting the return value from the customer's outstanding balance.


Prerequisites

  • User permission sales_returns.
  • Active branch selected.

Processing an Invoice-Linked Return

Whenever possible, link the return to the original sales invoice to maintain exact tax calculations and pricing:

Step 1
Navigate to Sales > Sale Returns (sale_returns.php).
Step 2
Click + Create Sale Return (sale_return.php).
Step 3
In the Link to Invoice field, enter or search the original invoice number (e.g., INV-20261018-0421).
Step 4
Click Fetch Invoice Details:
  • Customer details populate automatically.
  • All original line items, selling prices, and GST rates populate into the return grid.
Step 5
In the return table, enter the Return Quantity for the items being handed back (set non-returned items to 0).
Step 6
Select the Return Reason (e.g., Defective Item, Wrong Size, Customer Cancelled).
Step 7
Review the Total Return Value:
  • The system computes the exact taxable reversal and GST reversal.
Step 8
Click Save Sale Return.

Processing an Independent / Direct Return

If the original invoice number is unavailable:

Step 1
Open sale_return.php.
Step 2
Leave the Invoice Number field blank.
Step 3
Select the Customer Name directly.
Step 4
Manually add the returned items, quantities, and return rates.
Step 5
Click Save Sale Return.

What Happens Behind the Scenes?

Upon saving the return:

Step 1
Physical Stock Restored: The returned items are immediately added back to your branch stock in item_branch_stock.
Step 2
Audit Transaction Logged: An inward stock transaction (type = 'in', reference_type = 'sale_return') is inserted into stock_transactions.
Step 3
Customer Balance Adjusted: The total return credit amount is automatically applied against the customer's outstanding ledger balance using FIFO allocation.
Step 4
Credit Note Generated: You can print or download the official Credit Note Document (pdf_sale_return.php / sale_return_invoice.php).
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I reconcile Customer Ledgers & Share Statements?

Task-oriented guide on filtering customer financial statements, running balance reconciliation, and generating shareable public ledger links.

Read step-by-step → Docs Linked

The Sales Ledger (ledger.php) provides an itemized chronological record of all commercial activity for a customer: sales invoices, payment receipts, credit notes (sales returns), and the net running balance.


Prerequisites

  • User permission sales_ledger.

Viewing and Filtering a Customer Statement

Step 1
Navigate to Sales > Sales Ledger (ledger.php).
Step 2
Select Customer: Choose the customer from the dropdown.
Step 3
Select Date Range:
  • Quick presets: Today, This Month, Last Month, This Quarter, Current Financial Year.
  • Or define custom From Date and To Date boundaries.
Step 4
Click Filter Ledger.
Step 5
The ledger statement table renders:
  • Date: Transaction posting date.
  • Voucher / Reference: Clickable link to the source document (INV-20261018-0421, PAY-0089, or SR-0012).
  • Transaction Type: Sale Invoice, Payment Received, or Sale Return.
  • Debit (₹): Sales invoices increase the customer's liability.
  • Credit (₹): Payments and returns decrease the customer's liability.
  • Running Balance (₹): Progressive account balance after each event.

Sharing an Interactive Public Statement with the Customer

Instead of printing paper statements, you can provide customers with a secure, real-time online statement portal:

Step 1
At the top of the Customer Ledger page, locate the Public Share Link card.
Step 2
Click Copy Shareable Statement Link:
  • The link structure is:
  • https://erp.shrelix.com/[workspace]/pub_ledger.php?token=[share_token]

  • Protected by the customer's unique 8-character token. No password or login is required, and customers can only view their own records.
Step 3
Click Share on WhatsApp to send the statement directly to the customer's mobile phone.
Step 4
When opened, the customer can view their invoices, check recorded payments, see their exact balance due, and click Pay via UPI to settle their account immediately!
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I track & Calculate Sales Staff Commissions?

Task-oriented guide on configuring staff sales commission percentages and generating commission payout statements.

Read step-by-step → Docs Linked

For retail counters, dealerships, and distribution agencies that compensate sales executives with performance incentives, Shrelix ERP calculates commissions automatically at the line-item level.


Prerequisites

  • Super Administrator role.
  • Commission percentage configured under System > Settings (commission_percent).

How Commission Calculation Works

In Shrelix ERP, commission is calculated based on the Net Sale Value Excluding GST:

$$\text{Line Commission} = (\text{Quantity} \times \text{Item Price}) \times \left(\frac{\text{Commission \%}}{100}\right)$$

> [!NOTE]

> Commission is never calculated on taxes (GST), extra charges, or shipping fees, ensuring your enterprise does not pay commission on statutory government levies.


Generating the Commission Statement

Step 1
Navigate to Reports > Commission Report (report_commission.php).
Step 2
Filter by Date Range: Choose the compensation cycle (e.g. Last Month or October 1 - October 31).
Step 3
Select Staff Member: Choose an individual staff representative or select All Staff.
Step 4
Click Generate Report.

Reviewing Commission Statements

The commission ledger displays:

  • Staff Name & Username
  • Total Invoices Generated: Number of sales closed by this representative.
  • Gross Net Sales (Excluding Tax): Cumulative taxable value generated.
  • Effective Commission Rate (%): Percentage applied.
  • Earned Commission Payout (₹): Final monetary incentive due to the staff member.
  • Click View Invoices to inspect the individual sales receipts contributing to the commission balance.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I bulk Import & Export Catalog via CSV?

Task-oriented guide on bulk uploading product catalogs from Excel/CSV spreadsheets and exporting inventory records.

Read step-by-step → Docs Linked

Migrating from an older billing software or adding hundreds of new items at once is simplified using Shrelix ERP's bulk CSV import and export engine (items.php and api_items_export.php).


Prerequisites

  • Super Administrator role or permission inventory_items.
  • Trial account restrictions: Export and bulk import functions require an active subscription plan (Starter, Professional, Custom, or Enterprise).

Exporting Your Catalog

To download a complete copy of your current inventory:

Step 1
Navigate to Inventory > Items (items.php).
Step 2
Click the Export Items button at the top right (api_items_export.php?action=export).
Step 3
The browser automatically downloads a clean, UTF-8 CSV file containing all items, current branch stock levels, HSN codes, purchase rates, retail rates, wholesale rates, and barcodes.

Bulk Importing Products from CSV

Step 1
Navigate to Inventory > Items (items.php).
Step 2
Click Import Excel/CSV.
Step 3
An import guidelines box appears:
  • Click Download Sample CSV Template to review the required column structure.

CSV Column Specifications

Ensure your CSV columns match the following exact order:

| Column # | Header Name | Description | Example | Required |

| :--- | :--- | :--- | :--- | :--- |

| A | Item Name | Product name | Logitech K120 USB Keyboard | Yes |

| B | Category | Category name | Computer Peripherals | Optional |

| C | Unit | Unit of measure | Pcs | Optional |

| D | Purchase Price | Cost price without tax | 350.00 | Optional |

| E | Retail Price | Selling price | 550.00 | Yes |

| F | Wholesale Price | Wholesale rate | 480.00 | Optional |

| G | GST Rate | Tax percentage | 18 | Optional |

| H | HSN Code | Tax code | 8471 | Optional |

| I | Opening Stock | Stock count | 25 | Optional |

| J | Barcode | Barcode or SKU | 8901234567890 | Optional |

Step 4
Click Choose File and select your prepared CSV file.
Step 5
Click Upload & Process Import.
Step 6
The system processes the rows, skipping duplicates, creating new category masters if not found, generating random barcodes for blank entries, and reporting an import summary:

> "Import completed! Added: 124, Skipped (duplicates): 2 items."

Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I connect WhatsApp API & Auto-Responders?

Task-oriented guide on connecting WhatsApp gateways, configuring webhooks, and setting up automated keyword auto-responders for customer queries.

Read step-by-step → Docs Linked

Shrelix ERP includes an intelligent WhatsApp automation engine. In addition to one-click document dispatch, it can function as an interactive 24/7 business chatbot, automatically replying to customer requests for account ledgers, unpaid invoices, or payment QR codes.


Prerequisites

  • Plan feature WhatsApp API active (Professional, Custom, or Enterprise subscription plans).
  • Super Administrator role.

Step 1: Connecting Your WhatsApp Gateway

Step 1
Navigate to System > Settings (settings.php).
Step 2
Scroll to the WhatsApp Gateway Configuration section.
Step 3
Enter your WhatsApp API Key (whatsapp_api_key).
Step 4
Note your automatically generated Webhook URL:

https://erp.shrelix.com/[workspace]/api_whatsapp_webhook.php?user_id=[admin_id]

Step 5
Paste this webhook URL into your WhatsApp gateway manager so inbound messages route directly into your ERP.
Step 6
Click Save Settings.

Step 2: Configuring Customer Auto-Responders

In the Customer Automation Rules card:

Step 1
Enable Customer Automation: Toggle this switch ON.
Step 2
Help & Main Menu:
  • Enable unknown_help to send a helpful menu when an unrecognized message is received.
  • Trigger Keywords: help, menu, hi, hello, options, start.
Step 3
Automated Ledger Statement:
  • Enable ledger_enabled.
  • Keywords: ledger, account, statement, hisab.
  • When triggered, Shrelix ERP verifies the sender's mobile against your registered customer directory and instantly replies with their live outstanding balance and their secure statement link!
Step 4
Recent Invoices:
  • Enable invoice_enabled.
  • Keywords: invoice, invoices, bill.
  • Replies with links to their last 5 invoices.
Step 5
Instant Payment Link & UPI QR:
  • Enable payment_enabled.
  • Keywords: payment, pay, upi, qr, online payment.
  • Automatically calculates their due amount and returns an instant UPI payment intent link!

Step 3: Monitoring Automation Logs

To inspect outbound messages, deliverability status, and inbound chat interactions:

Step 1
In the sidebar, expand Communication.
Step 2
Click Message Logs (automation_logs.php).
Step 3
You can review timestamped logs, destination phone numbers, message content, response status, and webhook delivery latency.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I record Supplier Payments & Reconcile Payables?

Task-oriented guide on disbursing payments to vendors, recording bank and cheque references, and reconciling accounts payable ledgers.

Read step-by-step → Docs Linked

This guide explains how to record outgoing disbursements to suppliers, allocate payments against specific purchase bills or general account balances, and maintain reconciled accounts payable ledgers in Shrelix ERP (purchase_payment.php).


Prerequisites

  • User permission purchases or purchase_ledger.
  • Active branch selected.

Step-by-Step Payment Entry

Step 1
Navigate to Purchases > Purchase Ledger (purchase_ledger.php) or Purchases > Supplier Payment (purchase_payment.php).
Step 2
Select Supplier: Choose the vendor from the dropdown list.
  • The vendor's current outstanding balance (accounts payable) is displayed immediately.
Step 3
Select Allocation Mode:
  • Specific Bill Allocation: If paying off a specific invoice, select the bill number from the Allocate to Bill dropdown.
  • On-Account / General Pool: If making an advance payment or lump-sum settlement, leave the bill selection unallocated. Shrelix ERP will automatically apply the payment to the oldest unpaid purchase bills in chronological order using FIFO.
Step 4
Enter Amount Paid (₹):
  • Enter the exact currency amount disbursed.
Step 5
Select Payment Method:
  • Choose Bank Transfer (NEFT/RTGS/IMPS), Cheque, UPI, or Cash.
Step 6
Enter Reference / UTR Number:
  • Enter the bank transaction reference number, cheque number, or settlement UTR in the Description / Reference field.
Step 7
Payment Date:
  • Select the actual date the funds cleared your bank account.
Step 8
Click Record Supplier Payment.

Verifying Supplier Ledger Statements

To inspect the updated vendor statement:

Step 1
Navigate to Purchases > Purchase Ledger (purchase_ledger.php).
Step 2
Select the vendor.
Step 3
Choose the desired date range (e.g. Current Financial Year).
Step 4
Review the chronological ledger:
  • Purchase bills appear in the Credit column.
  • Payments and Debit Notes appear in the Debit column.
  • The Running Balance reflects your live net balance payable.
Step 5
Click Export to Excel or Print Ledger Statement to share the reconciled statement with the vendor.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I use Hold Bills (Park & Resume Sales at POS)?

Task-oriented guide on parking sales transactions in progress and recalling them without losing scanned items.

Read step-by-step → Docs Linked

In fast-paced retail counters, customers frequently step away to pick up an additional item, ask a family member a question, or find their payment card. The Hold Bill function allows cashiers to freeze the current cart in progress, serve subsequent customers immediately, and restore the frozen cart when the customer returns.


How to Park / Hold a Bill

Step 1
On the active billing screen (Sales > Sale / Invoices), with items already added:
Step 2
Click the Hold Bill button located near the top right of the billing window.
Step 3
A modal appears displaying the current items count and total value.
Step 4
Enter an optional Hold Reference / Note (e.g. Customer in blue shirt or Checking shelf 4).
Step 5
Click Confirm Hold.
Step 6
The ERP transmits the cart state to api_hold_bill_save.php, stores it in the hold_bills table, and immediately resets the billing form to a blank state.

How to Recall and Resume a Held Bill

Step 1
When the customer returns to the counter, click the Held Bills (N) button on the billing screen (the badge number indicates how many bills are currently parked).
Step 2
A drawer opens listing all held transactions:
  • Hold timestamp and time elapsed (e.g., 5 mins ago).
  • Customer name.
  • Reference note.
  • Total amount and item count.
Step 3
Click Resume next to the desired held bill:
  • The system calls api_hold_bill_load.php.
  • The customer information, line items, quantities, and pricing are restored to the active screen.
  • The held record is automatically cleared from the queue via api_hold_bill_delete.php.
Step 4
Add any additional items and proceed to payment settlement.

Discarding or Deleting a Parked Bill

If a customer abandons their cart and leaves the store:

Step 1
Open the Held Bills list.
Step 2
Click the Delete (Trash) icon next to the record.
Step 3
Confirm deletion to remove the abandoned session.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I generate UPI QR Codes & Send Payment Links?

Task-oriented guide on generating dynamic UPI payment QR codes and sending instant payment request links via WhatsApp or SMS.

Read step-by-step → Docs Linked

Shrelix ERP allows you to collect outstanding receivables remotely without paying gateway commissions by leveraging India's Unified Payments Interface (UPI). You can generate dynamic QR codes pre-populated with your VPA and the exact outstanding amount, and dispatch payment links directly to customers over WhatsApp.


Prerequisites

  • Your Bank UPI ID (VPA) configured under System > Profile (e.g. yourshop@icici).
  • User permission sales or sales_bills.

Generating and Sending a Payment Link

Step 1
In the sidebar under Sales, click Send Payment Link (send_payment_link.php).
Step 2
Select Customer: Choose the customer from the dropdown list.
  • The customer's registered phone number and current total outstanding balance load automatically.
Step 3
Specify Payment Amount:
  • By default, the input reflects their full outstanding due balance.
  • You can edit the amount if the customer requested to make a partial installment (e.g., ₹2,500.00).
Step 4
Enter Note / Reference: (Optional) e.g. Payment for INV-20261018-0421.
Step 5
Interactive Dynamic UPI QR:
  • The screen renders an instant dynamic UPI QR code containing standard UPI intent string:
  • upi://pay?pa=[your_vpa]&pn=[shop_name]&am=[amount]&cu=INR&tn=[note]

  • If the customer is standing at your counter, they can scan this QR code directly with any UPI app (Google Pay, PhonePe, Paytm, BHIM, Cred).
Step 6
Send Link to Customer Smartphone:
  • Click Send via WhatsApp: Shrelix ERP formats a direct payment message and opens WhatsApp with the customer's phone pre-filled:
  • > "Dear Customer, your payment request of ₹2,500.00 from Apex Retailers is ready. Please click here to complete payment via UPI: https://erp.shrelix.com/apex/pub_ledger.php?token=k8M9pX2y"

  • Click Copy Link if you wish to paste the link into an email, SMS, or chat.

Recording Settlement After Payment

When the customer completes the UPI transfer to your bank:

Step 1
Navigate to Sales > Payments (payment.php).
Step 2
Select the customer.
Step 3
Enter the amount received and choose UPI as the payment method.
Step 4
Enter the bank UTR / transaction ID in the description.
Step 5
Save the receipt to settle the customer's balance.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

Which business modules and features are included in Shrelix ERP?

Comprehensive technical catalog of all user interface screens, server endpoints, and functional modules in Shrelix ERP.

Read step-by-step → Docs Linked

This document provides an exhaustive inventory of every page, view, and primary endpoint within the Shrelix ERP application codebase.


1. Authentication & Session Management

| Endpoint | Title / Screen | Purpose | Required Role / Permission |

| :--- | :--- | :--- | :--- |

| login.php | User Sign In | Multi-tenant authentication, session binding, and role loading. | Public / Guest |

| logout.php | Sign Out | Terminates active user session and redirects to login. | Authenticated User |

| redirect.php | Tenant Router | Resolves tenant subdomains or subpaths and directs traffic. | Public |


2. Executive Dashboard

| Endpoint | Title / Screen | Purpose | Required Role / Permission |

| :--- | :--- | :--- | :--- |

| dashboard.php | Business Dashboard | Displays live revenue, receivables, stock alerts, sales graphs, and quick actions. | Authenticated User |


3. Sales Module

| Endpoint | Title / Screen | Purpose | Required Role / Permission |

| :--- | :--- | :--- | :--- |

| sale.php | Create / Edit Sale | Point-of-sale invoice generator with barcode lookup, discounts, taxes, and hold bills. | sales or sales_bills |

| inv.php | Invoice Web Print | Thermal receipt (58mm/80mm) and A4 invoice web preview with dynamic UPI QR. | Authenticated User |

| invoice.php | Invoice Detail View | Formatted document viewer with WhatsApp share, status indicators, and actions. | Authenticated User |

| pdf_invoice.php | PDF Invoice Generator | Server-side PDF generation engine. | Authenticated User |

| sale_orders.php | Sales Orders List | Registry of customer bookings, delivery dates, and status filters. | sales_orders |

| sale_order.php | Create / Edit Order | Form for taking customer pre-orders without depleting stock. | sales_orders |

| sale_order_invoice.php| Convert Order to Bill | Closes a sales order and pre-fills line items into an active sales invoice. | sales_bills |

| sale_order_view.php | Order Detail View | View order line items, client shipping details, and fulfillment state. | sales_orders |

| pdf_sale_order.php | PDF Sales Order | Export order confirmation document. | sales_orders |

| sale_returns.php | Sale Returns Registry | List of issued credit notes and customer returns. | sales_returns |

| sale_return.php | Create Sale Return | Issues Credit Note, adds stock back to branch, and credits customer balance. | sales_returns |

| sale_return_invoice.php| Credit Note View | Printable credit voucher. | sales_returns |

| pdf_sale_return.php | PDF Credit Note | Official downloadable Credit Note PDF. | sales_returns |

| customers.php | Manage Customers | Directory of customer profiles, credit limits, CSV import/export, and branch transfers. | customers |

| customer_order_links.php| Customer Order Links| Catalog links, QR codes, and self-ordering URL management. | customers |

| payment.php | Customer Payments | Inward payment receipt entry (cash, UPI, bank transfer, cheque). | payments |

| pay.php | Payment Receipt View | Formatted payment voucher printout. | payments |

| ledger.php | Customer Sales Ledger| Itemized chronological debit/credit statement and running balances. | sales_ledger |

| send_payment_link.php | Send Payment Link | Generates dynamic UPI QR codes and sends payment request links over WhatsApp. | sales or sales_bills |


4. Purchases Module

| Endpoint | Title / Screen | Purpose | Required Role / Permission |

| :--- | :--- | :--- | :--- |

| purchases.php | Purchase Bills List | Inward bills registry, vendor invoice numbers, and payment status. | purchase_bills |

| purchase_create.php | Create Purchase Bill | Records inward consignments, landed costs, updates branch stock, and logs payables. | purchase_bills |

| purchase_inv.php | Purchase Bill Print | Printable voucher of inward goods. | purchase_bills |

| purchase_invoice.php| Purchase Bill Details| Formatted view of inward bill lines, taxes, and supplier info. | purchase_bills |

| pdf_purchase.php | PDF Purchase Bill | Downloadable inward bill PDF. | purchase_bills |

| purchase_orders.php | Purchase Orders List | Registry of procurement orders issued to suppliers. | purchase_orders |

| purchase_order.php | Create Purchase Order| Prepares supplier orders with delivery expectations. | purchase_orders |

| purchase_order_invoice.php| Convert PO to Bill | Converts fulfilled purchase orders into inward stock bills. | purchase_bills |

| purchase_order_view.php| Purchase Order View | View PO lines and dispatch status. | purchase_orders |

| pdf_purchase_order.php| PDF Purchase Order | Downloadable vendor PO document. | purchase_orders |

| purchase_returns.php| Purchase Returns List| Registry of supplier returns and debit notes. | purchase_returns |

| purchase_return.php | Create Purchase Return| Deducts inventory from branch, issues debit note, and lowers supplier balance. | purchase_returns |

| pdf_purchase_return.php| PDF Debit Note | Downloadable Debit Note document. | purchase_returns |

| suppliers.php | Manage Suppliers | Vendor directory, GSTIN records, bank account profiles, and payables. | suppliers |

| purchase_payment.php| Supplier Payments | Records outgoing disbursements to vendors. | purchases |

| purchase_ledger.php | Supplier Ledger | Vendor statement with debit/credit transactions and net payable balance. | purchase_ledger |


5. Inventory & Warehouse Module

| Endpoint | Title / Screen | Purpose | Required Role / Permission |

| :--- | :--- | :--- | :--- |

| items.php | Manage Items | Master product catalog, pricing tiers, HSN, barcodes, and CSV import/export. | inventory_items |

| categories.php | Categories Master | Product category management. | categories |

| warehouse.php | Warehouse Operations | Inter-branch stock transfers, audit adjustments, and movement transaction history. | warehouse |

| synced_invoices.php | Synced Invoices | Cross-tenant B2B incoming invoice inbox, item mapper, and 1-click import. | Super Admin |


6. Reports Module

| Endpoint | Title / Screen | Purpose | Required Role / Permission |

| :--- | :--- | :--- | :--- |

| datewise_report.php | Date-Wise Transactions| Unified financial journal filtering sales, purchases, and payments across channels. | reports |

| tax_report.php | GST Tax Report | GSTR-1 & GSTR-3B tax summary, B2B vs B2C segregation, and HSN summary. | Super Admin / reports |

| report_commission.php| Sales Commission | Calculates staff commission on net sales excluding taxes. | Super Admin |

| report_staff.php | Staff Performance | Summarizes sales activity and transaction volume per employee. | Super Admin |


7. Organization & Field Staff Telemetry

| Endpoint | Title / Screen | Purpose | Required Role / Permission |

| :--- | :--- | :--- | :--- |

| branches.php | Manage Branches | Multi-store location setup, default branch designation, and stock sync mode. | Super Admin |

| staff.php | Manage Staff | Employee login profiles, modular permissions, branch bindings, and account locks. | Super Admin |

| location_dashboard.php| Live Tracking Map | Real-time GPS map tracking field staff locations, battery %, and telemetry. | Super Admin |

| location_history.php | Route History | Trajectory replay, stop durations, and customer meeting inspection. | Super Admin |

| location_settings.php| Tracking Schedules | Configures duty hours, active tracking days, and ping intervals. | Super Admin |

| staff_app_share.php | Staff App & APK | Distributes ShrelixStaff.apk and generates device pairing QR codes. | Super Admin |

| mobile_staff_portal.php| Mobile Staff Portal | Touch-optimized web interface for field order booking and balance lookups. | Authenticated Staff |


8. Communication & System Settings

| Endpoint | Title / Screen | Purpose | Required Role / Permission |

| :--- | :--- | :--- | :--- |

| automation_logs.php | Message Logs | Detailed dispatch and webhook logs for WhatsApp automation. | Super Admin |

| settings.php | System Settings | Toggles for warehouse, HSN, round-off, negative stock, and WhatsApp rules. | settings / Super Admin |

| payment_methods.php | Payment Methods | Manage active payment modes (Cash, UPI, Card, Bank Transfer). | settings / Super Admin |

| profile.php | Business Profile | Shop name, address, GSTIN, timezone, bank accounts, and UPI VPA. | Super Admin / Staff |


9. Public Self-Service Customer Portals (Token-Gated)

| Endpoint | Title / Screen | Security Mechanism | Description |

| :--- | :--- | :--- | :--- |

| pub_catalog.php | Digital Product Catalog | 8-character share_token | Client catalog browsing and self-service order placement. |

| pub_ledger.php | Online Customer Statement | 8-character share_token | Read-only ledger statement with instant UPI QR settlement. |

| pub_purchase_ledger.php| Online Supplier Statement| 8-character share_token | Read-only supplier balance statement. |

| pub_return_create.php| Public Return Request | 8-character share_token | Customer return submission form. |

| pub_tax_report.php | Public CA Tax Report | 8-character share_token | Read-only GST report portal for Chartered Accountants. |

Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

What do different invoice, order, and payment statuses mean?

Detailed state-machine specifications, status definitions, and transition rules for all commercial documents in Shrelix ERP.

Read step-by-step → Docs Linked

Shrelix ERP enforces deterministic state transitions across commercial documents to prevent orphaned records, double-billing, and accounting inconsistencies.


1. Sales Invoices Lifecycle

Sales Invoices represent statutory tax demands and commercial debts.

stateDiagram-v2

[*] --> Udhar : Amount Paid < Grand Total

[*] --> Paid : Amount Paid == Grand Total

Udhar --> Paid : FIFO Payment / Credit Applied

Paid --> Udhar : Payment Voided or Return Adjusted

Status Definitions

  • paid: The entire grand total of the invoice has been satisfied. The remaining receivable on this specific invoice is ₹0.00.
  • udhar: The invoice has an outstanding balance due (either partial payment was received or zero payment was made at the time of sale).

Automatic Status Transition Rules

Whenever an unallocated payment or credit note (sales return) is posted in the system, Shrelix ERP automatically runs its debt settlement engine:

Step 1
It retrieves all historical invoices for the customer ordered chronologically.
Step 2
It satisfies explicit invoice-linked payments and returns first.
Step 3
It takes any surplus general unallocated payments and returns, applying them sequentially (FIFO) to the oldest unpaid invoices.
Step 4
If an invoice's remaining due becomes zero, its status immediately transitions from udhar to paid.

2. Sales Orders Lifecycle

Sales Orders record customer requests without depleting physical inventory.

stateDiagram-v2

[*] --> Pending : Order Created

Pending --> Converted : Convert to Invoice

Pending --> Cancelled : Customer Cancellation

| Status | Meaning | Inventory Depletion | Ledger Impact |

| :--- | :--- | :--- | :--- |

| pending | Order recorded, awaiting fulfillment or payment confirmation. | None (Stock unchanged) | None |

| converted | Order packed and converted into an official Sales Invoice. | Yes (Stock decremented via generated invoice) | Posts to sales ledger |

| cancelled | Customer aborted the order. | None | None |


3. Purchase Bills Lifecycle

Purchase Bills represent inward inventory liabilities owed to vendors.

  • paid: The bill has been completely disbursed and paid off.
  • udhar: Accounts payable liability remains open on this bill.
  • Handled dynamically via the automated supplier bill settlement engine.

4. Purchase Orders Lifecycle

Procurement requests issued to suppliers.

  • pending: Order dispatched to supplier, awaiting delivery.
  • received: Goods delivered, checked against PO, and converted into an inward Purchase Bill.
  • cancelled: Order revoked before dispatch.

5. B2B Cross-Tenant Invoices Lifecycle

Exchanged across independent tenant organizations via synced_invoices.

stateDiagram-v2

[*] --> Pending : Vendor Issues Sales Invoice

Pending --> Approved : Buyer Maps Lines & Accepts

Pending --> Rejected : Buyer Rejects (Wrong Terms)

Pending --> ChangesRequested : Price / Qty Discrepancy

| Status | Description | System Action |

| :--- | :--- | :--- |

| pending | Sales invoice delivered to buyer's inbox. | Awaiting buyer line item mapping and approval. |

| approved | Buyer accepted invoice. | Automatically generates inward Purchase Bill, increments branch stock, and logs payable. |

| rejected | Buyer rejected invoice. | Inward bill is aborted. Rejection reason returned to vendor. |

| changes_requested | Buyer flagged discrepancy. | Vendor notified to re-issue corrected invoice. |


6. SaaS Subscription Lifecycle

Managed at the Central Platform level (subscriptions).

  • trial: 14-day full-feature trial period. Limited to 20 invoices, 20 items, and 20 customers.
  • active: Verified paid subscription plan. System operates without record count limits.
  • expired: Subscription validity passed. Transactions are blocked until renewed via billing portal.
  • cancelled: Account terminated by customer or administrator.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How are profit margins, GST, and totals calculated in reports?

Authoritative mathematical reference of all financial, taxation, profit, commission, and ledger algorithms used in Shrelix ERP.

Read step-by-step → Docs Linked

This document provides the authoritative mathematical formulas, taxation algorithms, and ledger reconciliation logic implemented within Shrelix ERP.


1. Line Item & GST Tax Calculations

Indian GST can be calculated in two modes: Tax Exclusive (pricing does not include tax) and Tax Inclusive (pricing is inclusive of tax).

Tax Exclusive Mode (Standard Invoicing)

Given:

  • Unit Price ($P$)
  • Quantity ($Q$)
  • GST Rate Percentage ($R$)

$$\text{Taxable Amount} = Q \times P$$

$$\text{GST Amount} = \text{round}\left(\text{Taxable Amount} \times \frac{R}{100},\; 2\right)$$

$$\text{Line Total} = \text{Taxable Amount} + \text{GST Amount}$$

Tax Inclusive Mode (Retail MRP Mode)

Given Gross Inclusive Line Total ($T$) and GST Rate ($R$):

$$\text{Taxable Amount} = \text{round}\left(T \times \frac{100}{100 + R},\; 2\right)$$

$$\text{GST Amount} = T - \text{Taxable Amount}$$

GST Tax Splits: Intra-State vs. Inter-State

When the seller state matches the buyer state (Intra-State supply):

$$\text{CGST} = \text{round}\left(\frac{\text{GST Amount}}{2},\; 2\right)$$

$$\text{SGST} = \text{GST Amount} - \text{CGST}$$

When supplying across state boundaries (Inter-State supply):

$$\text{IGST} = \text{GST Amount},\quad \text{CGST} = 0,\quad \text{SGST} = 0$$


2. Invoice Grand Total & Round-Off

Given Subtotal of all lines ($\sum \text{Taxable}$), Total GST ($\sum \text{GST}$), Extra Charges ($C$), and Bill Discount ($D$):

$$\text{Calculated Total} = \sum \text{Taxable} + \sum \text{GST} + C - D$$

Mathematical Round-Off

If round_off_total is enabled in settings:

$$\text{Grand Total} = \text{round}(\text{Calculated Total})$$

$$\text{Round-Off Variance} = \text{Grand Total} - \text{Calculated Total}$$


3. Profit & Sales Commission Formulas

Gross Profit Per Line Item

For every item sold, the ERP evaluates the margin against the item's current replacement cost (purchase_price):

$$\text{Unit Profit} = \text{Selling Price} - \text{Purchase Price}$$

$$\text{Profit Amount} = \text{Unit Profit} \times \text{Quantity}$$

Staff Sales Commission

Commission is calculated strictly on the Taxable Sale Value (Excluding GST):

$$\text{Sale Without GST} = \text{Unit Selling Price} \times \text{Quantity}$$

$$\text{Line Commission} = \text{Sale Without GST} \times \left(\frac{\text{Commission Percent}}{100}\right)$$


4. Customer & Supplier Balance Formulas

Customer Outstanding Balance

Implemented in customers.php:

$$\text{Total Invoiced} = \sum \text{Invoices Total (Udhar)} + \sum \text{Invoices Total (Paid)}$$

$$\text{Outstanding Due} = \max\Big(0,\; \text{Total Invoiced} - \sum \text{Payments} - \sum \text{Sale Returns}\Big)$$

Supplier Payable Balance

Implemented in suppliers.php:

$$\text{Outstanding Payable} = \max\Big(0,\; \sum \text{Purchase Bills} - \sum \text{Purchase Payments} - \sum \text{Purchase Returns}\Big)$$


5. FIFO Payment & Return Allocation Algorithm

Deterministic First-In, First-Out reconciliation procedure:

Algorithm FIFO_Reconciliation:

Input: Customer Invoices, Payment Records, Sale Return Records

Step 1
general_payment_pool = Sum of unlinked customer payments
Step 2
general_return_pool = Sum of unlinked customer credit returns
Step 3
Sort customer invoices chronologically (Date ASC, ID ASC)
Step 4
FOR EACH invoice in chronological_invoices DO:

explicit_paid = Sum of payments directly linked to invoice.id

explicit_returned = Sum of returns directly linked to invoice.id

remaining_due = MAX(0, invoice.total - explicit_returned - explicit_paid)

IF remaining_due > 0 AND general_return_pool > 0 THEN:

deduct = MIN(general_return_pool, remaining_due)

remaining_due = remaining_due - deduct

general_return_pool = general_return_pool - deduct

END IF

IF remaining_due > 0 AND general_payment_pool > 0 THEN:

deduct = MIN(general_payment_pool, remaining_due)

remaining_due = remaining_due - deduct

general_payment_pool = general_payment_pool - deduct

END IF

IF remaining_due == 0 THEN:

invoice.status = 'paid'

ELSE:

invoice.status = 'udhar'

END IF

Save updated invoice status

END FOR

Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

What permissions and access levels can I give to staff members?

Complete security reference covering user role hierarchies, granular permission flags, account locking, and branch access controls.

Read step-by-step → Docs Linked

Shrelix ERP implements a multi-tiered security model combining user roles, granular module permissions, branch data isolation, and instant account locking.


1. User Roles Overview

| Role Key | Name | Capabilities & Access Scope |

| :--- | :--- | :--- |

| admin | Super Administrator | Absolute system control. Bypasses individual permission checks. Can access multi-branch controls, company settings, billing portals, staff account management, and financial tax reports. |

| user | Staff Member | Access strictly constrained by the delegated permission switches assigned in their staff profile and restricted to their assigned branch. |


2. Granular Permission Flags

Staff permissions are configured via intuitive toggle switches in the Staff Management interface and evaluated dynamically across each module:

{

"sales_bills": true,

"sales_orders": true,

"sales_returns": true,

"customers": true,

"payments": true,

"sales_ledger": true,

"purchase_bills": false,

"purchase_orders": false,

"purchase_returns": false,

"suppliers": false,

"purchase_ledger": false,

"inventory_items": true,

"categories": false,

"warehouse": false,

"reports": true,

"settings": false

}

Permission Matrix & Controlled Endpoints

| Domain | Permission Key | Controlled Screens & Capabilities |

| :--- | :--- | :--- |

| Sales | sales_bills | Access to sale.php, inv.php, invoice.php, and pdf_invoice.php. Ability to create and print sales invoices. |

| | sales_orders | Access to sale_orders.php, sale_order.php, sale_order_view.php, and pdf_sale_order.php. |

| | sales_returns| Access to sale_returns.php, sale_return.php, sale_return_view.php, and Credit Note generation. |

| | customers | Access to customers.php and customer_order_links.php. Ability to create and edit customer profiles. |

| | payments | Access to payment.php and pay.php. Ability to record and print customer payment vouchers. |

| | sales_ledger | Access to ledger.php and customer balance statements. |

| Purchases | purchase_bills| Access to purchases.php, purchase_create.php, purchase_inv.php, and inward bill entries. |

| | purchase_orders| Access to purchase_orders.php, purchase_order.php, and purchase_order_view.php. |

| | purchase_returns| Access to purchase_returns.php, purchase_return.php, and Debit Note generation. |

| | suppliers | Access to suppliers.php. Ability to register and manage vendors. |

| | purchase_ledger| Access to purchase_ledger.php and supplier payable balances. |

| Inventory | inventory_items| Access to items.php. Ability to view, create, edit items, and print barcodes. |

| | categories | Access to categories.php. Ability to create and classify categories. |

| | warehouse | Access to warehouse.php. Ability to perform stock transfers and audit adjustments. |

| Reports | reports | Access to datewise_report.php and tax_report.php (if HSN mode enabled). |

| Settings | settings | Access to settings.php and payment_methods.php. |

> [!NOTE]

> Backward Compatibility: If legacy permissions exist (sales: true, purchases: true, inventory: true), the permission evaluation engine automatically maps them to grant access across all submodules in that domain.


3. Account Locking (`is_locked`)

Administrators can lock or suspend any staff account instantly from the Staff Management interface.

When locked:

  • The user cannot log in.
  • If an active session exists, subsequent requests display a full-width security warning:
  • > "🔒 Your account is locked. You cannot create sales or add items. Please contact the administrator."

  • Transaction creation endpoints (sale.php, purchase_create.php, payment.php) reject write attempts immediately.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

What system configuration settings can be customized in Shrelix ERP?

Complete reference of all configuration options, toggle behaviors, validation constraints, and database settings keys.

Read step-by-step → Docs Linked

Shrelix ERP stores organization configuration parameters in the settings registry, allowing administrators to customize billing behavior, tax formats, and automation preferences.


Complete Settings Directory

| Setting Key | Data Type | Default | Description & Operational Impact | Validation & Lock Rules |

| :--- | :--- | :--- | :--- | :--- |

| warehouse_enabled | String ('1', '0') | '1' | Controls physical inventory tracking and warehouse operations. | Cannot be set to '0' if any purchase bills exist in the database. |

| enable_hsn_code | String ('1', '0') | '0' | Switches invoice headers and tax tables to official Indian GST Tax Invoice mode with HSN codes. When '0', documents are titled "Estimate". | Cannot be set to '0' if any items, sales invoices, or purchase bills have recorded HSN codes. |

| round_off_total | String ('1', '0') | '0' | Automatically rounds calculated invoice grand totals to the nearest integer rupee. | None |

| prevent_negative_stock| String ('1', '0') | '0' | Blocks invoice creation if requested item quantity exceeds available branch stock. | None |

| default_sale_mode | String | 'retail' | Sets the initial sale mode on sale.php (retail or wholesale). | Must be 'retail' or 'wholesale'. |

| enable_mrp | String ('1', '0') | '0' | Displays an optional MRP column on billing and item screens. | None |

| enable_shipping_address| String ('1', '0') | '0' | Enables separate shipping name, phone, and delivery address inputs for customers and invoices. | None |

| commission_percent | Float | 0.00 | Percentage of taxable sales value credited to sales staff as commission. | Must be $\ge 0$. |

| profit_method | String | 'standard'| Cost basis used for margin computation (standard uses latest purchase_price). | 'standard' |

| invoice_terms | Text | Standard Text | Standard legal declaration and terms printed at the bottom of customer invoices. | None |

| whatsapp_api_key | String | '' | Authentication bearer token for the external WhatsApp Gateway API. | None |

| default_dashboard_range| String | '1_month'| Default date filter on the executive dashboard (today, 1_week, 1_month, 1_year). | None |

| automation_customer | JSON | {} | Automation configuration for customer WhatsApp queries. | Structured JSON |

| automation_supplier | JSON | {} | Automation configuration for supplier WhatsApp queries. | Structured JSON |

| payment_methods | JSON | ["Cash", "UPI", "Card", "Bank Transfer"] | Active payment method options available in dropdowns. | Valid JSON array |


Detailed JSON Specifications

`automation_customer` Structure

{

"enabled": true,

"unknown_help": true,

"help_keywords": "help, menu, hi, hello, options, start",

"limit": 5,

"ledger_enabled": true,

"ledger_keywords": "ledger, account, statement, hisab",

"ledger_months": 1,

"invoice_enabled": true,

"invoice_keywords": "invoice, invoices, bill",

"order_enabled": true,

"order_keywords": "order, orders, sale order, sales order",

"return_enabled": true,

"return_keywords": "return, returns, sales return",

"payment_enabled": true,

"payment_keywords": "payment, pay, upi, qr, online payment, pay online"

}

`automation_supplier` Structure

{

"enabled": true,

"unknown_help": true,

"help_keywords": "help, menu, hi, hello, options, start",

"limit": 5,

"ledger_enabled": true,

"ledger_keywords": "ledger, account, statement",

"ledger_months": 1,

"bill_enabled": true,

"bill_keywords": "bill, bills, invoice"

}

Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How does the ShrelixStaff Android mobile app work for field teams?

Technical architecture, background services, offline queueing, and telemetry contracts of the native companion mobile app.

Read step-by-step → Docs Linked

The ShrelixStaff Companion Application (mobile_app/ / ShrelixStaff.apk) is a purpose-built native Android utility designed for field sales executives, delivery personnel, and warehouse staff.


1. Application Architecture

+---------------------------------------------------------------------------------+

| ShrelixStaff Android App |

+---------------------------------------------------------------------------------+

| UI Layer: Login & QR Pairing Activity (ZXing QR Scanner) |

| Order Booking & Catalog Viewer (WebView / Native UI) |

| Duty Status & GPS Battery Widget |

+---------------------------------------------------------------------------------+

| Background Core: LocationTrackingService (Foreground Service with Sticky Notif)|

| ScheduleWorker (Android WorkManager) |

| TelemetryBatchQueue (SQLite Offline Buffer) |

+---------------------------------------------------------------------------------+

| Network Sync: Retrofit / OkHttp Client (HTTPS + Token Auth) |

+---------------------------------------------------------------------------------+

Build Specifications

  • Package Name: com.shrelix.staff
  • Output Artifact: ShrelixStaff.apk (439 KB, optimized lightweight binary)
  • Minimum SDK: Android 8.0 (API Level 26)
  • Target SDK: Android 14 (API Level 34)
  • Signer: Release Keystore (shrelix_release.jks)
  • Key Dependencies:
  • zxing-core.jar: Fast, offline QR code decoding for device pairing.
  • Android Location Services (FusedLocationProviderClient).
  • Android WorkManager for schedule enforcement.

2. Background Location Tracking Architecture

Field representatives move in and out of basements, elevators, and areas with spotty cellular reception. ShrelixStaff guarantees reliable telemetry without draining phone batteries:

1. Adaptive Foreground Service

To prevent modern Android power management (Doze Mode) from terminating the background service, ShrelixStaff executes as a registered Android Foreground Service with a persistent notification:

> "Shrelix Staff Service: Active on duty"

2. Offline Telemetry Queueing

When mobile data connectivity drops:

Step 1
The app stores GPS coordinates, speeds, and timestamps in an internal SQLite buffer.
Step 2
It continues logging route waypoints offline.
Step 3
Upon detecting network restoration, it flushes the backlogged coordinates in batched payloads to api_staff_location_batch.php.

3. Smart Movement Detection

To maximize battery life during long customer meetings or stationary traffic:

  • When the device is stationary ($speed < 1.0\text{ km/h}$), GPS query frequency relaxes to conserve power.
  • When movement is detected via the accelerometer, high-accuracy GPS pings resume immediately.

3. Pairing Security Protocol

Step 1
Super Admin clicks Generate Pairing QR on staff_app_share.php.
Step 2
The server creates an ephemeral pairing payload:

{

"server_url": "https://erp.shrelix.com",

"workspace": "apex",

"staff_id": 14,

"pairing_token": "a9e2f810c93b74..."

}

Step 3
ShrelixStaff scans the QR code, posts to api_staff_device_auth.php, and receives a permanent device_token.
Step 4
All future telemetry requests sign requests with this token. If an administrator revokes the device in the web portal, the app immediately halts tracking and clears stored credentials.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

Top 10 Common Questions & Quick Diagnostic Fixes

Quick-reference troubleshooting guide for diagnosing and resolving the most frequent operational challenges.

Read step-by-step → Docs Linked

This article covers rapid diagnostic steps for the ten most frequent operational questions encountered by store managers and cashiers.


1. "I cannot create an invoice — the system says 'Insufficient stock'"

  • Cause: The prevent_negative_stock setting is enabled under System > Settings, and the requested quantity exceeds physical inventory in your active branch.
  • Fix:
Step 1
Verify the item's branch stock in Inventory > Items.
Step 2
If stock has arrived but was not yet booked, record an inward Purchase Bill (purchases.php) or perform a Stock Adjustment (warehouse.php).
Step 3
If you intentionally allow pre-sales or backorders, an administrator can disable Prevent Negative Stock under System > Settings.

2. "The system says 'Please select a specific branch to perform this action'"

  • Cause: You are currently in "All Branches" (View-Only Mode) using the top branch selector.
  • Fix: Click the branch dropdown in the top header and switch from All Branches to a specific operational branch (e.g., Main Branch).

3. "My staff member cannot add sales and sees a lock icon"

  • Cause: The staff user profile has been locked (is_locked = 1).
  • Fix:
Step 1
An administrator must navigate to Organization > Staff (staff.php).
Step 2
Locate the staff member and click the Unlock (Padlock) button.
Step 3
Ask the employee to refresh their browser.

4. "I cannot disable the Warehouse & Stock Management setting"

  • Cause: Shrelix ERP enforces accounting audit integrity. Once purchase bills exist in the database, warehouse tracking cannot be toggled off.
  • Fix: This is an intentional security constraint to prevent un-audited inventory discrepancies.

5. "I cannot disable the HSN Code setting"

  • Cause: Items or past invoices in your database contain saved HSN codes.
  • Fix: To operate in non-HSN / Simple Estimate mode, no items or invoices must contain HSN data.

6. "The invoice prints with cut-off margins or giant text"

  • Cause: Thermal receipts (58mm/80mm) require matching paper size selection in your browser print dialog.
  • Fix: In the browser print dialog, click More settings, change Paper size to 58mm or 80mm (matching your roll), and set Margins to None or Minimum.

7. "My customer's statement still shows old invoices as 'Udhar' even though they paid"

  • Cause: A general unlinked payment was entered, but FIFO status synchronization has not refreshed.
  • Fix: Open Sales > Payments, click on the customer's payment, and re-save, or open Sales > Customers to trigger automatic FIFO recalculation.

8. "Why does my customer not see items on their shared catalog link?"

  • Cause: Items without configured retail sale prices or items marked inactive do not appear on public storefronts.
  • Fix: Verify in Inventory > Items that items have valid prices and belong to an active category.

9. "Cross-tenant B2B connection invite shows 'Pending'"

  • Cause: The receiving company has not yet logged in to accept the handshake.
  • Fix: Contact the partner organization's administrator and ask them to navigate to Inventory > Synced Invoices > Network Connections and click Accept.

10. "WhatsApp messages are failing to send"

  • Cause: Missing or expired WhatsApp Gateway API key in System > Settings.
  • Fix: Verify your gateway connection credentials under System > Settings > WhatsApp Gateway Configuration and check automation_logs.php for API response codes.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

Troubleshooting: Sales & Invoicing Issues

Diagnostic steps for resolving invoice generation errors, negative stock blocks, round-off discrepancies, and printer formatting issues.

Read step-by-step → Docs Linked

This guide provides targeted diagnostics for errors encountered during sales invoice creation, editing, and receipt printing.


Issue 1: "Amount Paid cannot be greater than Grand Total"

  • Symptom: Red error message when clicking Save on sale.php.
  • Cause: The value in Amount Paid exceeds the final calculated Grand Total.
  • Solution:
  • Check if a Bill Discount was applied that reduced the final bill below the cash tendered.
  • If the customer gave excess cash (e.g., a ₹2,000 note for a ₹1,850 bill), enter 1850 in Amount Paid and hand back ₹150 change. Shrelix ERP records the exact settled amount against the invoice.

Issue 2: "Item [X] does not exist in inventory. Please add it first."

  • Symptom: Invoice submission rejected with an item existence error.
  • Cause: Shrelix ERP enforces catalog consistency. Cashiers cannot type arbitrary item names that do not exist in the items master table.
  • Solution:
Step 1
Open a new browser tab and navigate to Inventory > Items (items.php).
Step 2
Create the missing item with its HSN, price, and category.
Step 3
Return to the invoice screen and re-select the item from autocomplete.

Issue 3: "Please enter extra charge details"

  • Symptom: Invoice cannot be submitted after entering a delivery fee.
  • Cause: Whenever Extra Charge (₹) is greater than zero, an accompanying description in Extra Charge Note is required by system validation.
  • Solution: Enter a brief memo (e.g. Packing charges, Courier delivery, Installation fee) in the Extra Charge Note field.

Issue 4: Dynamic UPI QR Code Not Appearing on Printed Bill

  • Symptom: Invoice prints with an empty space where the UPI QR code should be.
  • Cause: The business Virtual Payment Address (VPA) is missing.
  • Solution:
Step 1
Navigate to System > Profile (profile.php).
Step 2
Enter a valid UPI ID (e.g., shopname@upi) in the Bank UPI ID (VPA) field.
Step 3
Click Save Profile Changes.
Step 4
Re-open and print the invoice.

Issue 5: Thermal Printer Cuts Off Right Edge or Header

  • Symptom: Printed text is clipped on standard 58mm or 80mm roll printers.
  • Solution:
Step 1
In the browser print dialog, verify the destination printer driver.
Step 2
Click More settings:
  • Paper size: Select 58mm 210mm or 80mm 297mm (match your printer roll width).
  • Margins: Set to None.
  • Headers and footers: Uncheck (removes browser URL and date headers).
  • Scale: Set to Default or 100%.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

Troubleshooting: Inventory & Stock Issues

Diagnostic steps for resolving branch stock variances, disabled warehouse settings, transfer mismatches, and CSV upload errors.

Read step-by-step → Docs Linked

This guide addresses physical stock discrepancies, setting locks, and inventory audit variances.


Issue 1: Stock Shows Zero at Counter Even Though Main Store Has Stock

  • Symptom: Cashiers at a branch cannot sell items because available stock displays 0.00.
  • Cause: The branch is configured as an Independent Branch (sync_stock = 0), which maintains its own stock pool.
  • Solution:
  • Option A (Physical Transfer): If goods were physically moved from the central warehouse to the branch, execute an official Stock Transfer under Inventory > Warehouse (warehouse.php).
  • Option B (Shared Kiosk): If the counter register is located in the same building as the main store, navigate to Organization > Branches, edit the branch, check Synchronize Stock with Main Branch, and save.

Issue 2: CSV Import Fails with "Upload failed" or Skips Rows

  • Symptom: Red banner during CSV import or row numbers listed as skipped.
  • Causes & Fixes:
Step 1
Duplicate Item Names: Shrelix ERP enforces unique item names per organization. Skipped rows indicate items that already exist in your catalog.
Step 2
File Size Limit: If the file exceeds PHP's upload_max_filesize (typically 10MB), split the CSV into smaller batches of 1,000 items each.
Step 3
Special Characters / Encoding: Save your spreadsheet as CSV UTF-8 (Comma delimited) to prevent character corruption.

Issue 3: Inward Purchase Bill Does Not Increase Stock

  • Symptom: Created a purchase bill, but the item stock count in items.php remained unchanged.
  • Cause:
Step 1
Verify under System > Settings whether Warehouse & Stock Management was enabled at the moment the bill was saved.
Step 2
Check whether the purchase bill was created in a different branch than the one currently selected in the top header. Stock is allocated strictly to the bill's designated branch_id.

Issue 4: "Cannot disable Warehouse because purchase bills exist"

  • Symptom: System refuses to turn off the Warehouse toggle in Settings.
  • Explanation: This is an intentional accounting protection. Disabling warehouse tracking after transactions have been booked would orphan stock ledger audit records in stock_transactions and create irreconcilable financial reporting discrepancies.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

Troubleshooting: User Roles, Permissions & Access Issues

Diagnostic steps for resolving account lockouts, missing menu items, branch permission errors, and session timeouts.

Read step-by-step → Docs Linked

This guide provides diagnostic procedures for permission errors, invisible navigation menus, and branch access barriers.


Issue 1: Staff Member Cannot See Specific Menu Items

  • Symptom: An employee logs in, but the sidebar is missing Purchases, Warehouse, or Reports.
  • Cause: The user's account lacks the required granular permission checkboxes.
  • Solution:
Step 1
Sign in as Super Administrator.
Step 2
Navigate to Organization > Staff (staff.php).
Step 3
Click Edit (Pencil) on the staff member's record.
Step 4
In the Access Permissions section, check the necessary modular permissions (e.g., check Purchase Bills under Purchases).
Step 5
Click Save Staff.
Step 6
The staff member must log out and log back in (or refresh) to reload their updated permission cache.

Issue 2: "User limit reached for your plan"

  • Symptom: Error when attempting to add a new employee on staff.php.
  • Cause: Your current subscription tier has reached its maximum user seat allowance (e.g. Starter Plan includes up to 2 users).
  • Solution:
  • Delete or repurpose unused staff accounts.
  • Or upgrade your organization's subscription tier to Professional or Enterprise via the billing portal at https://portal.shrelix.com.

Issue 3: "Staff member cannot be deleted"

  • Symptom: Red warning when attempting to delete an employee record.
  • Cause: Shrelix ERP protects transaction history. If an employee has ever generated a sales invoice, collected a payment, or received a purchase bill, deleting the user would break relational database foreign keys and invalidate audit records.
  • Solution: Rather than deleting the user, click the Lock (Padlock) button on staff.php. This immediately revokes their login credentials and blocks further access while preserving historical transaction authorship.

Issue 4: Session Frequently Expiring on Mobile Devices

  • Symptom: Field agents get redirected to login.php repeatedly.
  • Solution:
  • Shrelix ERP uses persistent session cookies configured with a 30-day lifetime (session.gc_maxlifetime = 2592000).
  • Verify that the mobile browser is not operating in "Incognito / Private Browsing" mode, which destroys session cookies upon backgrounding the tab.
  • For field representatives, use the native ShrelixStaff Android App (ShrelixStaff.apk) which maintains permanent device token authentication without relying on browser cookie expiry.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

Troubleshooting: WhatsApp API & B2B Sync Issues

Diagnostic steps for resolving WhatsApp webhook delivery errors, unverified B2B partner invites, and invoice sync mapping failures.

Read step-by-step → Docs Linked

This guide provides troubleshooting procedures for WhatsApp automation failures and cross-tenant B2B invoice synchronization stalls.


Issue 1: Customer WhatsApp Auto-Responder Not Replying

  • Symptom: Customer texts "ledger" or "balance", but receives no automated response.
  • Diagnostic Flow:
Step 1
Check Plan Feature: WhatsApp API requires an active Professional or Enterprise subscription plan. Trial and Starter plans do not process background auto-responders.
Step 2
Verify API Key: Navigate to System > Settings and confirm that whatsapp_api_key contains a valid, non-empty bearer token.
Step 3
Inspect Inbound Webhook Logs:
  • Navigate to Communication > Message Logs (automation_logs.php).
  • Look for incoming event entries. If no inbound events appear, the webhook URL on your WhatsApp gateway server is either misconfigured or cannot reach your ERP domain.
Step 4
Verify Phone Number Format: Ensure the customer's phone number in Sales > Customers includes standard formatting matching the incoming sender phone number (e.g., matching the last 10 digits).

Issue 2: B2B Network Sync Button Shows "Invite Pending" Indefinitely

  • Symptom: Sent an invitation to a buyer or supplier, but synced invoices cannot be exchanged.
  • Cause: The partner enterprise has not approved the connection in their ERP workspace.
  • Solution:
Step 1
Verify with the partner that the mobile phone number used for the connection matches their organization's registered primary phone number.
Step 2
The partner's administrator must log into their ERP, open Inventory > Synced Invoices, click the Network Connections tab, and click Accept.

Issue 3: Inward Synced Invoice Rejects Line Item Mapping

  • Symptom: Error when clicking Approve & Import as Purchase Bill on synced_invoices.php.
  • Cause: One or more incoming lines have not been mapped to an internal item, or mandatory tax fields are empty.
  • Solution:
  • Review the line mapping table (purchase_line_mapping.js). Ensure every incoming row has either an existing local item selected or has Create As New Item selected.
  • Verify that the target branch has an active default unit of measure.
Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I completing Your First Sales Workflow?

Step-by-step lesson on creating a sale, handling item discounts, extra charges, hold bills, and payment recording.

Read step-by-step → Docs Linked

This tutorial guides you through the complete sales invoicing workflow in Shrelix ERP. By following this lesson, you will learn how to look up customers, scan or select inventory items, apply item-level and bill-level adjustments, handle POS hold bills, settle payments, and issue an official tax invoice.


Learning Objectives

By the end of this tutorial, you will be able to:

  • Navigate and operate the primary sales invoicing screen (sale.php).
  • Autocomplete items and choose between retail and wholesale sale modes.
  • Apply extra charges (such as delivery fees or packaging) and bill discounts.
  • Park a transaction in progress using the Hold Bill function.
  • Process cash, UPI, or credit sales and understand status updates.
  • Generate and print both standard A4 and POS thermal receipts.

Prerequisites

Before beginning:

  • Ensure you have at least one product created in Inventory > Items with stock available.
  • Ensure at least one customer exists in Sales > Customers.
  • Ensure your active branch is selected (not in "All Branches" view-only mode).

Step 1: Accessing the Sales Invoicing Screen

Step 1
From the left sidebar, click the Sales dropdown.
Step 2
Select Sale / Invoices (sale.php).
Step 3
You will see the main transaction interface:
  • Header with auto-generated Invoice Number (e.g., INV-20261018-0421) and current date.
  • Customer Details card.
  • Line Items grid with interactive calculations.
  • Totals & Payment Settlement summary card on the right or bottom.

Step 2: Selecting the Customer & Sale Mode

Step 1
In the Customer Name field, click or start typing the customer's name.
Step 2
Select the customer from the autocomplete dropdown.
Step 3
Observe how the system automatically fills:
  • Phone Number
  • Billing Address
  • Shipping Address (if enabled in settings)
  • GST Number
Step 4
Locate the Sale Mode toggle button:
  • Select Retail: Applies the item's standard retail selling price.
  • Select Wholesale: Automatically adjusts the unit rate to the item's discounted wholesale price for trade buyers.

Step 3: Adding Products & Calculating Taxes

Step 1
Click on the first empty row in the Item Name column.
Step 2
Type the first few letters of an item name or scan its barcode using a physical barcode scanner.
Step 3
Select the item. The system populates:
  • HSN Code (e.g., 8471)
  • Unit Price (e.g., ₹500.00)
  • GST Rate % (e.g., 18%)
Step 4
Adjust the Quantity (e.g., 3).
Step 5
Notice the live mathematical breakdown:
  • Taxable Line Amount: $3 \times 500 = \text{₹}1,500.00$
  • GST Amount (18%): $1,500 \times 18\% = \text{₹}274.00$
  • Total Line Amount: $\text{₹}1,770.00$
Step 6
Click + Add Item Row or press Enter to append another product row if needed.

Step 4: Using the POS Hold Bill Feature

Imagine a scenario where the customer stepped away to grab an additional product or forgot their wallet, but you have customers waiting in line behind them:

Step 1
Click the Hold Bill button at the top right of the invoice screen.
Step 2
Enter an optional reference note (e.g., Customer checking extra cables).
Step 3
Click Confirm Hold.
Step 4
The system clears the screen so you can immediately bill the next customer!
Step 5
When the first customer returns:
  • Click the Recall Held Bills button.
  • Select the held transaction from the drawer.
  • Click Resume. The customer details, items, quantities, and prices restore instantly!

Step 5: Applying Extra Charges & Discounts

In the invoice calculation summary card:

Step 1
Extra Charge (₹):
  • Enter 50.00 (e.g., for local delivery or handling).
  • If an extra charge is entered, enter a brief description in Extra Charge Note (e.g., Express Courier Delivery).
Step 2
Bill Discount (₹):
  • Enter 20.00 to apply a promotional concession.
Step 3
Review the Grand Total:

$$\text{Subtotal} + \text{Total GST} + \text{Extra Charge} - \text{Discount} = \text{Grand Total}$$

Step 4
If Round Off is enabled in settings, verify that the total rounds to the nearest whole rupee automatically.

Step 6: Recording Payment & Saving the Invoice

In the Payment Details section:

Step 1
Review the Amount Paid field:
  • Full Payment: Enter the exact Grand Total amount. The invoice status will be marked Paid.
  • Credit / Udhar: Enter 0.00. The invoice status will be marked Udhar, posting the entire amount to the customer's ledger balance.
  • Partial Payment: Enter a partial amount (e.g., ₹1,000.00). The remaining balance posts to the customer's ledger, and the invoice status is marked Udhar until fully settled.
Step 2
Choose the Payment Method: Cash, UPI, Card, or Bank Transfer.
Step 3
Click Create & Generate Invoice.

Step 7: Verifying Stock Depletion & Printing

After saving, the system redirects you to the formatted Invoice Preview (invoice.php):

Step 1
Check Inventory: Navigate to Inventory > Items. You will observe that the available stock for your sold item has automatically decremented by the exact quantity sold.
Step 2
Review Print Options:
  • Click Print A4: Opens standard browser print preview with company header, customer details, HSN tax summary table, bank remittance info, and authorized signature block.
  • Click Print Thermal: Reformats the document into a clean, compact receipt with thermal printer cut formatting and an embedded UPI QR code.
Step 3
Dispatch via WhatsApp: Click Share via WhatsApp to instantly send the direct invoice viewing URL to the customer's registered phone.

You have successfully completed a full sales transaction from start to finish!

Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I recording Inward Stock & Purchase Bills?

Step-by-step lesson on creating vendor records, entering purchase bills, updating inventory, and managing supplier payables.

Read step-by-step → Docs Linked

This tutorial teaches you how to record inward shipments, register vendor invoices, automatically update branch stock counts, and record supplier payables in Shrelix ERP.


Learning Objectives

By the end of this tutorial, you will be able to:

  • Register a new vendor in Purchases > Suppliers.
  • Create a complete inward Purchase Bill (purchase_create.php).
  • Enter vendor invoice numbers, GST tax rates, and landed item costs.
  • Track immediate vendor payments vs. supplier credit (Udhar).
  • Confirm that inventory quantities automatically replenish in your active branch.

Prerequisites

  • Logged in with an account having purchases or purchase_bills permission.
  • Ensure the Warehouse & Stock Management toggle is enabled under System > Settings.
  • An active branch selected in the top header.

Step 1: Registering a Supplier

Before entering a purchase bill, record the vendor's business identity and bank accounts:

Step 1
In the sidebar, expand Purchases and click Suppliers (suppliers.php).
Step 2
In the Add New Supplier card, enter:
  • Supplier Name: National Electronics Distributors
  • Phone Number: +919833445566
  • Email Address: orders@nationalelec.com
  • Postal Address: Building 8, Industrial Estate, Sector 3, Navi Mumbai
  • GSTIN: 27AAACN0123M1Z5
  • Bank Account Details: (Beneficiary, Account Number, IFSC) for reference when disbursing payments later.
Step 3
Click Save Supplier.

Step 2: Creating a New Purchase Bill

Step 1
In the sidebar under Purchases, click Purchase Bills (purchases.php).
Step 2
Click the + Create Purchase Bill button in the top right corner.
Step 3
You will land on purchase_create.php.

Header Details

Step 1
Supplier Name: Select National Electronics Distributors from the dropdown. The registered phone, address, and GSTIN populate automatically.
Step 2
Bill / Vendor Invoice No.: Enter the supplier's actual printed invoice number (e.g., NED-2026-9812).

> [!NOTE]

> Recording the vendor's original invoice number is vital for input tax credit (ITC) reconciliation against GSTR-2B.

Step 3
Bill Date: Set the invoice date as indicated on the physical supplier invoice.

Step 3: Adding Inward Products & Inward Rates

In the Items grid:

Step 1
Item Name: Start typing the product name (e.g., Wireless Optical Mouse). Select the item from the dropdown.
Step 2
Quantity: Enter the quantity received from the vendor (e.g., 20).
Step 3
Purchase Price (Unit Cost): Enter the supplier's base price before tax (e.g., ₹340.00).
Step 4
GST Rate (%): Select 18%.
Step 5
The system calculates:
  • Taxable Amount: $20 \times 340 = \text{₹}6,800.00$
  • GST Amount: $6,800 \times 18\% = \text{₹}1,224.00$
  • Total Line Value: $\text{₹}8,024.00$
Step 6
If the item was not previously in your catalog, you can also add new items on the fly by typing their name and entering their cost.

Step 4: Applying Freight & Bill Discounts

Step 1
Extra Charges / Inward Freight (₹): If the supplier charged for shipping or packaging, enter e.g. 200.00 and describe it in the note (e.g., Freight & Transport Charges).
Step 2
Discount (₹): If a trade discount was granted on the bill, enter the deduction.
Step 3
Review the calculated Grand Total:

$$\text{Subtotal} + \text{GST} + \text{Extra Charges} - \text{Discount} = \text{Net Bill Total}$$


Step 5: Recording Supplier Payment & Saving

In the Payment Details section:

Step 1
Amount Paid (₹):
  • If paid immediately on delivery: Enter the full grand total.
  • If bought on credit terms (e.g., 30 days credit): Enter 0.00.
  • If an advance deposit was paid: Enter the advance amount (e.g., ₹3,000.00).
Step 2
Payment Mode: Select Bank Transfer, Cheque, UPI, or Cash.
Step 3
Click Save Purchase Bill.

Step 6: Verifying Inventory Updates & Audit Logs

Upon saving:

Step 1
Item Stock Increase:
  • Navigate to Inventory > Items (items.php).
  • Locate Wireless Optical Mouse.
  • Check the Stock Qty column: Notice that it has increased by exactly +20 in your active branch!
Step 2
Stock Audit Log:
  • Navigate to Inventory > Warehouse (warehouse.php).
  • Check the Stock Movement History table.
  • You will find an entry:
  • Type: in
  • Quantity: +20
  • Reference Type: purchase
  • Reference ID: Linked to your newly created purchase bill!
Step 3
Supplier Ledger Balance:
  • Navigate to Purchases > Purchase Ledger (purchase_ledger.php).
  • Select National Electronics Distributors.
  • Observe the purchase entry credited to the supplier, offset by any payments, displaying the remaining accounts payable balance.

You have successfully processed an inward purchase bill and replenished your stock!

Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I sharing Product Catalogs & Customer Self-Ordering?

Step-by-step lesson on enabling customer self-service links, sharing online catalogs, and converting incoming orders to invoices.

Read step-by-step → Docs Linked

Shrelix ERP provides integrated customer self-service capabilities without requiring your clients to install special apps. Every customer can receive a unique, secure link to browse your inventory catalog, view live retail or wholesale prices, and submit orders directly into your ERP.


Learning Objectives

By the end of this tutorial, you will be able to:

  • Generate customer-specific catalog order links (customer_order_links.php).
  • Share a digital product catalog (pub_catalog.php) via WhatsApp or QR code.
  • Understand how customers experience the digital catalog and place orders.
  • Receive, review, and approve incoming orders in Sales > Sale Orders.
  • Convert an accepted order into an official Sales Invoice in one click.

Prerequisites

  • Plan feature Customer Self-Ordering enabled in your organization's subscription plan.
  • Products configured with images or descriptions in Inventory > Items.
  • At least one registered customer in Sales > Customers.

Step 1: Generating the Customer Catalog Link

Step 1
From the left sidebar, navigate to Sales > Customers (customers.php).
Step 2
Alternatively, click Customer Order Links (customer_order_links.php).
Step 3
In the customer list table, locate the desired customer (e.g., Rohit Verma).
Step 4
Look for the Order Link icon or column:
  • Click Copy Order Link.
  • The link format appears as:
  • https://erp.shrelix.com/[workspace]/pub_catalog.php?token=[8-char-share-token]

  • Each token is a unique, cryptographically random 8-character string (e.g., k8M9pX2y) tied directly to that customer's profile.

Step 2: Sharing the Catalog with the Customer

You can share the catalog through multiple channels:

Step 1
One-Click WhatsApp Dispatch: Click the green WhatsApp icon next to the customer. Shrelix ERP pre-populates a polite message:

> "Hello Rohit Verma, here is our latest product catalog where you can place orders online with live availability: https://erp.shrelix.com/apex/pub_catalog.php?token=k8M9pX2y"

Step 2
Printable QR Code: Display a printed QR code at your checkout counter or on promotional flyers for walk-in clients to scan and bookmark.

Step 3: The Customer's Self-Service Experience

When the customer opens the link on their smartphone, tablet, or desktop:

Step 1
Branded Storefront: The customer sees your company name, logo, phone number, and address at the top.
Step 2
Category Filters & Search: Customers can filter by product categories or search by keyword (e.g., Mouse, Cable).
Step 3
Cart Management:
  • Customers tap + Add to Cart or use plus/minus buttons to adjust quantities.
  • The cart drawer calculates total items and estimated pricing.
Step 4
Order Submission:
  • The customer clicks Review & Place Order.
  • They confirm their delivery address and optional purchase notes.
  • Tapping Submit Order transmits the request directly into your ERP system!

Step 4: Reviewing Incoming Orders in the ERP

As soon as an order is placed:

Step 1
In your ERP sidebar, navigate to Sales > Sale Orders (sale_orders.php).
Step 2
You will see the new order listed at the top of the table:
  • Order Number: (e.g., SO-20261018-0012)
  • Customer: Rohit Verma
  • Items: 2 Items
  • Total Amount: ₹1,416.00
  • Status: Pending
Step 3
Click the View (Eye) icon (sale_order_view.php) to inspect the requested line items, delivery preferences, and customer notes.

Step 5: Converting the Order into a Sales Invoice

When you are ready to pack and dispatch the items:

Step 1
In the Sale Orders list or on the order view screen, click Convert to Invoice (sale_order_invoice.php).
Step 2
The invoicing screen opens with:
  • Customer details pre-filled.
  • All ordered items, quantities, and agreed prices pre-populated.
  • Branch stock availability automatically verified.
Step 3
If any item was out of stock or the customer requested an adjustment, you can edit quantities or rates.
Step 4
Record the payment details (or select Udhar if charging to account).
Step 5
Click Create & Generate Invoice.

The order status automatically transitions from Pending to Converted, creating an official sales invoice, depleting physical inventory, and posting to the ledger!

Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I setting Up Field Staff GPS Tracking & Mobile App?

Step-by-step lesson on installing the ShrelixStaff Android APK, pairing devices, configuring working schedules, and monitoring live field routes.

Read step-by-step → Docs Linked

Shrelix ERP includes an integrated enterprise field telemetry system. Using the native ShrelixStaff Android application (ShrelixStaff.apk), businesses can monitor field sales representatives, delivery drivers, and service technicians in real time, view historical route journeys, and verify customer visit timestamps.


Learning Objectives

By the end of this tutorial, you will be able to:

  • Create a staff user profile with field tracking privileges in Organization > Staff.
  • Download and install ShrelixStaff.apk on an Android smartphone.
  • Pair the staff member's device using the secure one-time pairing QR code.
  • Define tracking schedules (active days, duty hours, and GPS ping frequencies).
  • Monitor live field staff positions on the interactive map (location_dashboard.php).
  • Review complete historical route trajectories in Route History (location_history.php).

Prerequisites

  • Logged in as a Super Administrator with full management permissions.
  • Android smartphone (Android 8.0 or higher) with GPS location services and mobile internet connectivity.

Step 1: Creating the Staff Profile

Step 1
In the sidebar, expand Organization and click Staff (staff.php).
Step 2
Click + Add Staff.
Step 3
In the modal:
  • Full Name: Amit Kumar
  • Username: amit_sales
  • Email: amit@apexretail.com
  • Mobile Number: +919876501234
  • Password: Create a temporary initial password.
  • Assign Branch: Select the staff member's home branch (e.g., Main Branch).
  • Access Permissions: Enable desired modules (e.g., Sale Orders, Customers).
Step 4
Click Save Staff.

Step 2: Downloading the Android App (`ShrelixStaff.apk`)

Step 1
In the sidebar, expand Staff Tracking & App.
Step 2
Click Staff App & APK (staff_app_share.php).
Step 3
On this screen:
  • Download APK Directly: Click Download ShrelixStaff.apk to save the package file.
  • Share via WhatsApp: Click Send APK Link to Staff to dispatch the download URL directly to Amit's phone number.
Step 4
On the staff member's Android phone:
  • Tap the received link or downloaded .apk file.
  • If prompted by Android security, allow "Install from Unknown Sources" for your browser or file manager.
  • Tap Install and complete the installation.

Step 3: Pairing the Mobile Device

To ensure enterprise security, each phone must be authenticated to prevent unauthorized access or fake GPS submissions:

Step 1
On the ERP web portal (staff_app_share.php), locate Amit Kumar in the staff device table.
Step 2
Click Generate Device Pairing QR. A high-resolution authentication QR code appears on your screen.
Step 3
On Amit's phone, launch the newly installed ShrelixStaff app.
Step 4
On the app welcome screen, tap Scan Pairing Code.
Step 5
Point the phone camera at the computer screen to scan the QR code.
Step 6
The app automatically exchanges tokens with api_staff_device_auth.php, binds the device's unique identifier, and prompts for Android system permissions:
  • Location: Choose Allow all the time (required for background tracking during field duty).
  • Battery Optimization: Choose Don't optimize / Disable optimization so Android does not put the tracking service to sleep when the screen turns off.

Step 4: Configuring Tracking Schedules

You have full control over when location tracking occurs to respect staff privacy during off-duty hours:

Step 1
In the sidebar under Staff Tracking & App, click Tracking Schedule (location_settings.php).
Step 2
Set the global or staff-specific schedule:
  • Tracking Days: Select active days (e.g., Monday through Saturday).
  • Working Hours: Set start time (e.g., 09:30 AM) and end time (e.g., 07:00 PM).
  • Location Ping Frequency: Select ping interval (e.g., every 30 seconds or 60 seconds).
Step 3
Click Save Schedule Settings.

> [!NOTE]

> The ShrelixStaff background service checks the active schedule before transmitting coordinates. Outside designated duty hours or on non-working days, tracking automatically pauses.


Step 5: Monitoring Live Staff on the Map

Step 1
In the sidebar, click Live Tracking Map (location_dashboard.php).
Step 2
An interactive map powered by OpenStreetMap and Leaflet renders on screen:
  • Active Markers: Each active staff member appears as an icon colored by their status (Green for active movement, Blue for stationary/visiting a client, Gray for offline).
  • Sidebar Telemetry: Click any staff card to view their current battery level (%), GPS accuracy radius (meters), last recorded speed (km/h), and timestamp of the last ping.
Step 3
The map automatically refreshes without requiring page reloads!

Step 6: Reviewing Historical Route Trajectories

To inspect a field trip after the working day:

Step 1
In the sidebar, click Route History (location_history.php).
Step 2
Select Staff Member: Amit Kumar.
Step 3
Select Date: Today's date (or any past date).
Step 4
Click Load Route.
Step 5
The map draws the exact journey path taken throughout the day:
  • Green Pin: Shift start location.
  • Red Pin: Shift end location.
  • Numbered Stop Markers: Highlights places where the agent paused for longer than 10 minutes (indicating customer meetings or deliveries).
  • Playback Bar: Drag the time slider to retrace the executive's route minute-by-minute!

You have successfully deployed and configured field staff GPS tracking!

Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I cross-Tenant B2B Invoice Synchronization?

Step-by-step lesson on linking two enterprises on the Shrelix ERP network for automated B2B invoice-to-purchase-bill synchronization.

Read step-by-step → Docs Linked

One of Shrelix ERP's most powerful capabilities is its Cross-Tenant B2B Invoice Synchronization Network. When both a supplier (Company A) and a buyer (Company B) use Shrelix ERP, sales invoices generated by the supplier can automatically beam directly into the buyer's system as draft purchase bills.

This eliminates manual double-entry, eliminates data entry errors, simplifies item code mapping, and expedites tax reconciliation.


Learning Objectives

By the end of this tutorial, you will be able to:

  • Establish a verified B2B sync connection between two independent tenant organizations.
  • Issue a sales invoice in Company A and transmit it across the network.
  • Receive the synced invoice notification in Company B.
  • Map the vendor's line items to Company B's internal item catalog using the interactive line mapper.
  • Approve the synchronized invoice and convert it into an inward purchase bill with zero manual typing.

Prerequisites

  • Plan feature Synced Invoices active on both organizations (Professional, Custom, or Enterprise plans).
  • Both organizations must have verified phone numbers matching their registered enterprise profiles.
  • Logged in as Super Administrator in both organizations.

Step 1: Connecting Two Organizations on the Shrelix Network

Before invoices can exchange automatically, the two businesses must establish a mutual handshake:

Step 1
Log into Company A (The Supplier).
Step 2
Navigate to Sales > Customers (customers.php).
Step 3
Locate Company B in the customer list (or click + Add Customer to register them).
  • Enter Company B's registered 10-digit mobile phone number in the Phone field.
Step 4
Notice the Network Status indicator next to the phone number:
  • If the phone is registered on the Shrelix Central Network, a Connect on Shrelix Network button appears!
Step 5
Click Send Connection Invite.
Step 6
An invitation alert is immediately transmitted to Company B's workspace for review.

Step 2: Accepting the Connection Invitation

Now, log into Company B (The Buyer):

Step 1
Look at the top navigation bar:
  • Notice the Notification Bell badge incrementing by +1.
  • In the sidebar under Inventory, the Synced Invoices menu displays an alert indicator.
Step 2
Click Inventory > Synced Invoices (synced_invoices.php).
Step 3
Select the Network Connections tab:
  • You will see an incoming connection request from Company A:
  • > "Company A invites you to connect for automated invoice synchronization."

Step 4
Click Accept Connection.
Step 5
The connection status changes to connected across both organizations.

Step 3: Company A Generates a Sales Invoice

Step 1
In Company A, navigate to Sales > Sale / Invoices (sale.php).
Step 2
Select Company B as the customer.
Step 3
Notice the green Synced B2B Customer badge next to the customer's name.
Step 4
Add line items:
  • Heavy Duty Surge Protector (Qty: 10, Rate: ₹450.00, GST: 18%).
  • Cat6 Ethernet Cable 305m (Qty: 2, Rate: ₹2,800.00, GST: 18%).
Step 5
Select Amount Paid (e.g., 0.00 for credit sale).
Step 6
Click Create & Generate Invoice (Invoice INV-20261018-0911).
Step 7
Upon saving, Shrelix ERP packages the complete invoice payload (items, quantities, prices, taxes, HSN codes, and totals) and transmits it to Company B via api_sync.php.

Step 4: Company B Receives & Reviews the Invoice

Switch back to Company B:

Step 1
Within seconds, a live notification appears in Company B's header.
Step 2
In the sidebar, click Inventory > Synced Invoices (synced_invoices.php).
Step 3
Under the Pending Invoices tab, observe the incoming record:
  • Source Supplier: Company A
  • Supplier Invoice No: INV-20261018-0911
  • Date: Today's Date
  • Grand Total: ₹11,918.00
  • Status: Pending Approval
Step 4
Click Review & Map Items.

Step 5: Interactive Line Item Mapping

Company A may call the product "Cat6 Ethernet Cable 305m", while Company B has it saved in their inventory as "LAN Cable Drum (Cat-6)". Shrelix ERP provides an intuitive mapping utility (purchase_line_mapping.js):

+-----------------------------------------------------------------------------------------+

| Incoming Supplier Line Item | Your Local Item Catalog Match |

+-----------------------------------------------------------------------------------------+

| Heavy Duty Surge Protector (10x) | [Select: Surge Spike Guard 6-Socket (Existing)] |

| Cat6 Ethernet Cable 305m (2x) | [Select: LAN Cable Drum Cat-6 (Existing)] |

+-----------------------------------------------------------------------------------------+

Step 1
For each incoming item, select your matching internal inventory item from the dropdown.
Step 2
If you do not have an existing item, select + Create As New Item. The system will automatically create the item master record using the supplier's description, HSN code, and GST rate!
Step 3
Shrelix ERP remembers your mapping choices for all future invoices from this supplier.

Step 6: One-Click Approval & Purchase Bill Creation

Step 1
Once all lines are verified and mapped, click Approve & Import as Purchase Bill.
Step 2
The system automatically:
  • Creates an official Purchase Bill in Company B (purchase_bills).
  • Links the vendor invoice number (INV-20261018-0911).
  • Adds +10 and +2 quantities to Company B's physical branch stock in item_branch_stock.
  • Records corresponding inward stock audit records in stock_transactions.
  • Credits Company A in Company B's supplier accounts payable ledger!
Step 3
A confirmation notification is dispatched back to Company A, alerting them that Company B has accepted and booked the invoice.

You have mastered cross-tenant B2B invoice synchronization!

Detailed Reference AvailableLooking for deep technical parameters and configuration keys?

Read the comprehensive manual in our official developer and software documentation.

View Full Documentation

How do I reset my Shrelix ERP password?

Forgot your ERP password? Learn how to securely reset your credentials using the password recovery flow.

Read step-by-step →

If you have forgotten your password or cannot log into your Shrelix ERP workspace, follow these steps to reset it:

Step 1
Navigate to your dedicated ERP login page (e.g., https://erp.shrelix.com/login.php).
Step 2
Click on the "Forgot Password?" link located below the login form.
Step 3
Enter your registered email address or mobile number and submit the recovery request.
Step 4
Check your email inbox or SMS for a secure password reset link. The link is encrypted and active for 1 hour for security.
Step 5
Open the link, type your new strong password, confirm it, and log into your workspace with updated credentials.

Tip: Workspace Super Admins can also reset or update staff passwords directly from the Staff & HR > Staff Directory screen.

How do I contact Shrelix Customer Support or report an issue?

Need direct help from our product team? Discover available support channels including WhatsApp, email, and live priority tickets.

Read step-by-step →

Shrelix ERP provides dedicated support for enterprise and trial users:

Option 1
WhatsApp Support: Message our official technical assistance desk directly on WhatsApp at +91 78500 20478 for instant response.
Option 2
Email Desk: Submit inquiries, error screenshots, or migration requests to support@shrelix.com.
Option 3
Contact Form: Fill out our online contact form at shrelix.com/contact/. Our solution architects will follow up within 2 business hours.
Developer & ERP Software Manuals

Looking for deep technical guides and API specs?

Our developer documentation site contains complete database schemas, formula algorithms, API endpoints, hardware specs, and end-to-end ERP architectural flows.

Explore Shrelix Docs →
Still need help?

Contact Customer Support

Our dedicated technical team is available to assist you with onboarding, data migration, and troubleshooting.

WhatsApp Support

Chat directly with our support specialists for urgent inquiries and walkthroughs.

Chat on WhatsApp →

Email Desk

Send detailed error reports, screenshots, or migration requests to our desk.

support@shrelix.com

Online Contact Form

Submit an inquiry ticket. Our solutions architect will respond within 2 hours.

Open Contact Form →