Industry Solutions
You run a chain of shops, a distributor, a pharmacy or F&B group, a workshop, a factory floor or a firm that bills for time, and you want to know which parts of BigLedger you lean on and what to decide before go-live. There is no sector edition to install and no setting that puts the product into a retail or a workshop mode: every business gets the same applets, the same posting chain and the same master data. What differs by sector comes down to four decisions. This page says, for each kind of business, which of the four bite, why the product is built the way it is, and the page that carries the detail. BigLedger’s customers are, first, multi-branch Malaysian consumer-electronics retailers — the wiki’s running example, GadgetSphere Sdn Bhd — and after them pharmacy chains, automotive service groups, precision manufacturers and franchise-model F&B. The six per-industry pages this section once held were folded into the module pages on 2026-09-16, so that each fact is written once and varied in place.
The four decisions that differ by sector
- Which document in your chain posts. Finalising a document is a separate step from saving it, and it starts the chain that writes the journal, the stock movement, the costing and the e-invoice queue entry — but only one document in each chain is built to do that. On the way out it is the POS cash bill or the sales invoice; on the way in it is the purchase invoice or the GRN Stock In (a goods received note that books stock), depending on which receiving pair your company chose. The quotation, the sales order, the job sheet, the consultation, the blanket agreement and the job order are records: they carry a zero signum and finalising them moves nothing. A sector’s habit decides which of these you touch all day, and that is why a workshop and a shop ask different questions of the same product (Practice 1).
- What your items are tracked by. Plain quantity, serial number, batch with an expiry date, or a type that is not stock at all — a warranty, a service, a deposit. It is chosen when the item is created and does not change on the edit screen once the item has history, because the history would have no serials or batches in it (Choosing an item type).
- Where stock sits that is not your own shelf. A partner’s showroom, a customer’s site, a brand principal’s units on your shelf, a lorry between the central kitchen and an outlet, a hub that ships for a kiosk. Each is a different document (the last is a field on the sales document), and two of them post a journal while the others move quantity only.
- Which clocks nobody switches on for you. A new tenant is created with e-invoice and housekeeping clocks and nothing else; the credit-control sweep and the marketplace pulls run only where somebody created a clock for them (what runs when nobody presses a button).
Everything else is the same for every sector and is written once: companies, branches and locations; the Default GL Codes that decide whether a FINAL document reaches the ledger; the fan-out after Finalise; LHDN e-invoice. Start with Setting up a group and the platform overview.
Pick your business
Multi-branch retail, with an online arm
The running example, and the shape every module page is written around. What is different for you: the cash bill takes the payment, takes the stock out and posts the sale in one document, and the price it rings up is decided by three settings — the applet default, the branch’s pricing-scheme priority and the role link — so two cashiers on one till can sell at different prices on purpose. Handsets go on serial-number tracking, and a serial is a stock record with a quantity balance at one location, not a flag. Walk-ins with no tax number are not a compliance failure: their receipts are reported to LHDN once a month under one General Public buyer. A marketplace order arrives already numbered and FINAL; the sales invoice raised from it, not the order, moves the stock. Why it is built this way: the moment of sale is kept cheap and uninterruptible, and everything expensive or regulated happens afterwards on the reporting side.
- The counter, its three pricing settings and what one cash bill sets off — POS module and its use case
- Why a draft at another counter can hold a serial, and why a serial still shows a balance after it was sold — Serial numbers
- Orders from a marketplace or your own storefront, and the B2B order desk — Sales use cases; the links themselves — E-commerce module
- The monthly report for counter sales with no buyer tax number — Consolidated e-invoice
- Members, classes and points — Membership module
Wholesale and distribution
What is different for you: long terms, thin margins and stock you own on shelves you do not control. A blanket purchase order records the agreement with a principal and orders nothing; buyers draw it down from the purchase order. Stock placed with a dealer goes through a consignee stock transfer, quantity only, so it stays on your balance sheet wherever it is, and billing the dealer for what they sold is an ordinary sales invoice — the applet called Consignment Billing is the principal’s bill to you. A customer who takes weekly deliveries is invoiced once a month through SO Consolidation (sales-order consolidation), which needs a sales agent on every order. Credit control has two parts, and neither is what a reader from another system expects: an optional check on the sales order and sales invoice screens that refuses FINAL once the available figure is used up — a setting on each of those two screens, counting one company at a time — and a blacklist flag on the customer record that a person sets by hand or a Blacklist Overdue Customer sweep sets for credit limit only. The sweep ships with no schedule, removes every existing flag before it recalculates, and never re-flags anybody for lateness.
- Agreements, the two receiving pairs, consignment from a principal and the supplier’s window — Purchasing module and its use cases
- Your stock on their shelf, their stock on yours — Inventory use case 5
- Many deliveries, one bill — Sales use case 1
- Can this customer take more goods — the group total, the two available-credit figures and which to trust — Deciding on credit; putting a customer on stop and keeping the stop — Stopping a customer; the sweep and its consequences — Practice 3
Pharmacy chains, food and beverage
What is different for you: shelf life, portioning and a central kitchen. Perishable lines go on batch-number tracking, chosen when the item is created; each batch carries its own expiry date, captured on the receiving document’s line, and the Batch and Expiry Date Report reads it back. Portioning and re-packing is Stock Conversion, whose tabs read the opposite way to a bill-of-materials tool — Input is into stock, Output is out — and whose posting run was found not connected on 2026-10-06, so a FINAL conversion left Stock Balance unchanged; check that anything moved before you rely on it. Kitchen-to-outlet movement is the two-step stock transfer with an in-transit queue, and receiving the 25 trays that arrived today against an outbound of 40 works only where the company holds the document-flow configuration between the two transfer types. On the buying side, the receiving pair decides whether the purchase invoice or the GRN Stock In books the goods; a GRN Stock In followed by a full purchase invoice counts them twice.
- Batch tracking, the kitting tabs and the two-step transfer — Inventory module and its use cases 1 and 4; the split delivery — Stock transfer guide
- Which receiving document books the stock — the receiving-pair callout on the Purchasing module
- The counter — POS module
Automotive service groups
What is different for you: the work is a case, and the case posts nothing. The workshop record is a consultation — one branch, one vehicle, one consultant, three inspection checklists with photos — whose Posting Status is a free label. Money and parts move only through the documents raised from its tabs: the sales invoice bills the customer and takes the parts out of stock, and a purchase invoice raised from the same case brings supplier parts in. Parts with unit identity go on serial numbers and consumables stay on plain quantity; an extended warranty you sell is a Warranty item type, and a warranty you register for a customer is a review queue someone in support works through.
- The consultation and the documents hung off it — Sales module, then the Car Workshop applet
- Serialised parts and warranties as an item type — Choosing an item type; the registration queue — Warranty Admin applet
- Getting parts in — Purchasing overview
Precision manufacturing and assembly
What is different for you: production is recorded, not planned or costed. Process templates carry input and output items, job orders raise one process instance per step, operators log the work, and the supervisor’s finalisation is the only step that moves stock — at each item’s own unit cost at that location, so a finished item that has never been costed there comes in at zero and no component cost reaches it. Nothing in the module posts a journal: no entry for goods still being made, no absorption, no variance. There is no planning run either — nothing explodes a bill of materials into requisitions or nets demand against stock; the planner reads the Outstanding Report. A repack with no route is Stock Conversion, with the caution above.
- Templates, job orders, work logs, what finalisation moves and at what value, and what the module has no engine for — Manufacturing module and its use cases
- Setting the finished item’s cost deliberately with Reset MA (reset moving average) — Stock Adjustment applet
Professional services and projects
What is different for you: the job sheet records and the sales invoice bills, and three applets in the finance family were built for an audit practice. The claims module’s engagement route takes approvers from the roles on the engagement rather than the claimant’s branch, carries a billing side for re-billing the client, and stores a markup ratio nothing applies; its approval engine is the only one with delegation. Budgetary registers are consumed only by a FINAL purchase or sales invoice, and there is no budget check on the server — an over-budget line is coloured in the editor and still saves. Cashflow Projection is a planning register whose figures are typed in by someone, month by month.
- Expense claims, the engagement route and sampling — Claims module and use case 3
- Budget control and planned billing and collection — Financial Accounting module
- The job sheet — Sales module
Any sector, more than one company
A group of companies is a shape, not a sector, and the same page serves all of them: one tenant for the whole group, the intercompany pairing that raises the other company’s document itself when yours finalises, and the Default GL Codes tab that starts empty for every new company — a FINAL invoice in a company whose sales code is missing posts a journal that is short, with no message, because the missing line is omitted and the customer’s line absorbs it. Setting up a group.
Where the number came from
The figures a sector’s readers question most, and what each one is.
| Figure | What it is |
|---|---|
| Available Qty on Stock Availability (retail, distribution) | A calculation the screen does when you open it: Stock Balance plus signed adjustments minus the reserved quantity. The Details listing adds up differently, term by term, and with the default filter shows the bare balance |
| A serial’s quantity balance (retail, workshop) | A stock record per serial, item and location, not a flag; written by the movements that carried the serial, so a balance that disagrees with the shelf is a movement that did or did not happen |
| The available credit the FINAL check uses (distribution) | FINAL balances and open-queue amounts for the customer in this company only, so for a customer who buys from two of your companies it is smaller than the truth |
| The blacklist flag on a customer (distribution) | Either set by hand on the customer record, or by the Blacklist Overdue Customer sweep as at its last run, from the balances at that moment — and that run removes every hand-set flag first. A customer who went over this morning is not flagged by anything until a person acts or the sweep next runs |
| A batch’s expiry date (pharmacy, F&B) | Captured on the receiving document’s line when the batch arrived; the Batch and Expiry Date Report reads it back from there |
| A finished item’s cost after a job (manufacturing) | The unit cost the item last carried at that location, as at the moment the process instance was finalised — zero if it had never been costed there, and never the components’ cost |
| A consultation’s or job sheet’s total (workshop, services) | A record. The receivable, the revenue and the stock movement are the sales invoice’s, from the moment it was finalised |
| Target and actual billing in Cashflow Projection (services) | Whatever someone typed for that line and month; the applet reads no document |
What goes wrong, by sector
| What you see | Why | What to do |
|---|---|---|
| A FINAL stock conversion, and Stock Balance has not moved (F&B, manufacturing) | On 2026-10-06 nothing was connected to the conversion’s posting run; and even when it is, Input means into stock and Output means out, the reverse of a bill-of-materials tool | Read the kitting use case before the first one; if the bundle must carry its components’ cost, record the build with Stock Adjustment |
| Goods counted twice in stock after a delivery (pharmacy, F&B, any stockist) | A GRN Stock In followed by a full purchase invoice — two documents that each book the stock | Pick one receiving pair per company and hold to it — the receiving-pair callout |
| A dealer’s consignment sale booked as a payable to a supplier (distribution) | The Consignment Billing applet sits in the sales folder and is a purchase document, the principal’s bill to you | Bill the consignee with an ordinary sales invoice — Sales use case 2 |
| A customer well over their limit keeps ordering (distribution) | Nothing flags a customer unless a person acts or someone has put the sweep on a clock — it ships with no schedule — and the FINAL check runs only where its setting is on and counts one company | Set the stop on the customer record yourself, and read Deciding on credit for the figure to trust |
| A hand-set blacklist disappears over the weekend (distribution) | Somebody ran the Blacklist Overdue Customer sweep, which removes every flag before it re-flags on credit limit only | Find out who runs it and when, keep your own stop list, and re-apply the stops the same day — Stopping a customer |
| The case is closed and the parts are still in stock (workshop) | The consultation and the job sheet post nothing; the sales invoice raised from them moves the parts | Raise and finalise the invoice; check its TraceDocument tab for the journal |
| Finished goods at zero cost and no manufacturing journal at month end (manufacturing) | By design: finalisation carries no cost into the output item, and no manufacturing document has a journal handler | Reset MA on the finished item, and a manual journal if the accounts need WIP or absorption |
| A marketplace order with no running number (retail, online) | Ingestion numbers and finalises the order in one pass, so a number missing is a failed run, not a queue — Sales use case 3 | Find the cause in the marketplace troubleshooting table and re-run the pull — EcomSync Related Applets |
| A purchase order went over budget and saved anyway (services) | There is no budget check on the server; only a FINAL purchase or sales invoice consumes a register | Control the commitment with approvals and permissions on the order, not the budget — Financial Accounting |
| The second company’s first invoice is FINAL, has a journal, and the debtor is short (any sector) | Its Default GL Codes tab was empty; the sales line was omitted and the customer’s line absorbed the gap, silently | Map every role for every company before anybody finalises — the mapping that decides whether anything posts |
How you know you picked the right pages
Three checks in a test company, about ten minutes, before the first live document:
- Finalise one document of each kind in your chain — the record and the one that is supposed to post — then open the posting document’s TraceDocument tab. It has a journal; the record has none. If the document you expected to post has no journal, you are on the other receiving pair, or the company’s Default GL Codes are not mapped.
- Open Stock Balance for the item. It moved once, when the posting document finalised — not when the order, job sheet or consultation was saved, and in the direction you expected from the tab you used.
- Name the owner of each clock your sector depends on — the marketplace pulls for an online arm, the credit sweep if credit control has decided it should run at all — and read its Last Run Date in the Scheduler. A clock that does not exist, or has never fired, is a control that does not run, and the product does not say so.
The decisions behind the three — which pair, which tracking type, which clocks — are your accountant’s and your stock controller’s, and the tracking decision is taken before the first item is saved, because an item with history keeps the type it was created with.
Where this page sits
- Must exist first: a company with its Default GL Codes mapped, branches with a default location, and the item master’s tracking decisions taken. No sector page helps before those, because the failures they produce — a short journal, a greyed-out tracking field — are the same in every sector.
- What becomes possible: once you know which document posts in your chain, every module page reads the same way — the record documents are paperwork you shape to your trade, and the posting document is where the ripple starts: journal, stock, costing, cashbook, receivable, e-invoice, points.
- Siblings, and when to use which: this page routes by kind of business; Guides by who you are routes by job (the books, the stock hand, the counter) and Guides by the situation you are in by situation (first setup, a regulator, two numbers that do not agree). Inside a sector the sibling choices are the ones above: cash bill or invoice, purchase invoice or GRN Stock In, Stock Conversion or a job order, consignee transfer or a consignment GRN.
- What breaks if the choice is wrong: a wrong receiving pair double-counts stock in every branch; a missing Default GL Code posts short journals in every module that touches that company; a tracking type chosen wrong stays with the item for as long as it has history.
- Used together in practice: every sector’s pages with Setting up a group underneath them and the Scheduler beside them.
What is true whatever you sell
One data core per tenant, so there is nothing to integrate between the applets. One document in each chain posts, and everything else is a record. Companies, branches and locations underneath, with Default GL Codes per company, cashbook access per branch and stock balances per location. And LHDN e-invoice built in from the first document. No setting switches the product into a sector mode: the industry codes it does hold — the MSIC (Malaysia Standard Industrial Classification) code on the e-invoice supplier block and the industry on a CRM organisation record — describe a party to LHDN or to your sales team, and no sales, purchase, stock or journal process reads them.