Skip to content

Related Applets

“Every sales invoice finalises, but none of them post, and the trace names a missing default GL code.” The fix for that is not in any sales applet. It is one line in Chart of Account. Most of what goes wrong with a sale starts like this: in a record another module keeps, which the sales screen reads without showing it to you. This page is for whoever answers for sales across the group: the sales administrator and the accounts person who own the receivables. For each applet outside the module it says why you end up there, what a sale reads or moves there, what you see when it is wrong, and who keeps it. The module’s own applets are on the module page.

When a sale reads each neighbour

A sales document takes from other applets at three different moments, and the moment decides whether fixing the record fixes the document.

  • When you pick the customer or add the line. The document keeps its own copy of what it took: the customer’s name, address, identity, terms and credit limit, and each line’s price, tax code and rate. The server fills the customer block from the record only when the document arrives without one, and it never refreshes it. A correction in Customer Maintenance or Pricebook reaches the next document, not this one. That is deliberate, because a reprint has to match the copy the customer holds.
  • When you press FINAL. Only a few things are checked there, among them a company and a location on the document, a date outside a locked fiscal period, and the customer’s blacklist status. Then the document is numbered and a background job is queued. FINAL does not wait for the posting.
  • When the jobs run, a moment after FINAL. They read, as they stand then: the customer’s receivable type, the company’s default GL codes, the item’s link to a stock item and, for e-invoicing, the company’s e-invoice status. Changing any of these changes the next posting, including a repost of an old document.

The posting job is where most gaps show, and it shows them on the document’s Posting tab or in Trace Document, not as a refusal at the desk.

From Core

AppletWhy you end up thereWhat a sale reads or moves thereWhen it is wrong, you seeWho keeps it
Customer MaintenanceA new customer, a correction, or an invoice that posted to the wrong accountThe copy taken when the customer is picked; the AR/AP type, read at posting, with the type on the customer’s link row for that company winning over the record’s own; the blacklist, checked at FINAL on invoices, orders, outbound delivery orders and cash billsA blank AR/AP type: the invoice is FINAL with no journal (TOTAL_DEBITS_AND_TOTAL_CREDITS_NOT_BALANCES). An AP_TRADE type: the sale lands on creditors. A blacklisted customer: ENTITY_BLACKLISTED at FINALSales administrators onboard customers; finance or credit control set terms, limits and the type. The list is one list for the whole group, so a change applies in every company
Doc Item MaintenanceAn item that will not price, will not tax, or will not leave the shelfWhether the line moves stock: only a line whose item is linked to a stock item does. The item’s own GL code, used before the company default for its sales lineA service or account-code item moves no stock, as intended. An item meant to be stocked but with no stock link sells, and the balance never falls. Tax applicable off: no tax reaches the line, and nothing warnsWhoever keeps the catalogue, usually a merchandising or purchasing clerk
OrganizationSetting up a company or branch, intercompany sales, e-invoicingCompany, branch and location on every document; revenue takes each line’s branch, the receivable the header’s. The branch’s intercompany pairing. The company’s e-invoice statusNo company or location: the document is refused. A sale to a sister company whose own entity record has no AR/AP type: FINAL with no journalThe tenant administrator
PricebookA promotion that did not apply, or applied where it should notThe price book named in each sales applet’s own Default Pricebook setting, applied in the browser when a line is added. The line keeps the result, and only the price set’s name in its descriptionNo Default Pricebook on that applet: nothing applies, silently. A later price change re-prices nothing already keyedThe pricing administrator
Tax ConfigurationA new rate, or a tax figure in the ledger that looks shortThe rate, stamped on the line. The tax code carries no GL account: the tax line always goes to the company’s OUTPUT_TAX defaultOUTPUT_TAX unmapped: no error; SST payable is short and trade debtors absorbs the difference. A deactivated code still appears on documentsThe finance administrator
Chart of AccountThe first invoice of a new company, or a receivable that disagrees with the ageingThe company defaults the sales journal falls back to: DEBTOR, SALES, SALES_RETURN, OUTPUT_TAX, and COGS for month-end cost of sales. The fiscal periods: only a date inside a locked period is refused at FINALDEBTOR unmapped: MISSING_DEFAULT_GL_CODE: DEBTOR and no journal. SALES unmapped: no error, and the journal posts short. A date with no fiscal period at all still finalisesThe finance administrator; the accountant at month-end

The customer on the invoice and the buyer on the e-invoice can differ. That is not a mistake in Customer Maintenance. The e-invoice keeps its own buyer, corrected in My E-Invoice Admin (E-Invoice related applets).

From Inventory

AppletWhy you end up thereWhat a sale reads or moves thereWhen it is wrong, you seeWho keeps it
Stock BalanceChecking that an invoice took the goods off the shelfMoved by the job after FINAL, only by documents that carry a quantity: invoice and cash bill out, return and refund note in. A credit note, debit note, quotation, order or delivery order moves nothingFINAL and the balance did not move: the document type moves no stock, or the job did not runWhoever runs the warehouse
Stock AvailabilityPromising a delivery dateWorked out each time you look: balance, less FINAL sales orders not yet invoiced, less reservations“Physical 50, available 0”: open orders hold it. Open the Details screen and untick HIDE_SALES_ORDER_BALANCE to see which (how it is calculated)Sales administration, for the orders behind the figure
Stock ReservationHolding specific units, serials or bins for one orderAn opt-in hold a sales order line can place. It posts nothing and moves no stockVoiding the order does not release the hold. Release it here, or availability stays low. The applet page lists its known issuesWhoever places the hold releases it
Stock ReportReconciling what was sold with what leftSummary by Location counts invoices, cash bills and returns as Sold; a Sales GIN Stock Out goes under OthersA sale shipped on a GIN Stock Out is missing from Sold. The Pricing Report’s NEGATIVE option is the daily check for selling ahead of receivingInventory, with sales

From Financial Accounting

AppletWhy you end up thereWhat a sale reads or moves thereWhen it is wrong, you seeWho keeps it
Receipt VoucherThe customer paidClears the invoice through a contra sent after you save. A receipt with no contra is an unapplied credit, and the invoice stays open. A deposit on a sales order is taken either on the order’s Settlement tab or on a receipt voucher (deposits)Documents contra unsuccessfully: the receipt is FINAL and the invoice still open. Nothing retries it. Voiding a receipt removes its contras and reopens the invoicesAccounts receivable
Debtor ReportAgeing and chasing, or applying a creditEach document’s own open balance, not journal lines. A credit note counts against the customer’s total at once, on its own line; the invoice it was meant for stays open, and ageing, until the credit is contra’d against itThe total disagrees with trade debtors in the Balance Sheet: compare the AR Transaction Report with the GL account. An invoice paid and still ageing: the receipt was never contra’dAccounts receivable
Statement of AccountSending customers what they oweBuilt from finalised documents when each run is rendered. A customer is included only with a FINAL document before the end date and a matching category or sales agentNo customers matched the provided criteria.Accounts receivable
Ledger And JournalProving an invoice postedThe AUTO journal the posting job writes: debit the receivable, credit sales and SST payable. Cost of sales is a month-end journal, not a line on the invoiceAn invoice listed under Error Checking › Missing Journal (Error Checking). A void’s reversal is dated on the original date, so look for it in the original monthThe accountant

From Point of Sale

AppletWhy you end up thereWhat a sale reads or moves thereWhen it is wrong, you seeWho keeps it
POS GeneralReconciling till sales with invoiced sales, or commissionThe cash bill is a sale settled on the spot. It posts through the same sales journal as the invoice, and the Sales Report and commission count it beside invoices. The sales agent it credits is decided at the till (who the sale is credited to)An integration listening for the invoice-created event hears nothing from the till: that event is raised for sales invoices only. A cash bill can still be voided after its e-invoice is ValidThe branch manager

From Membership

AppletWhy you end up thereWhat a sale reads or moves thereWhen it is wrong, you seeWho keeps it
Commission SchemeSetting what an agent earnsThe rules Sales Commission runs against. A document-type rule can match a sales invoice, a cash bill, a sales order or a receipt voucherNo active scheme: the commission run writes no lines and every report is empty. A sale later credited or refunded keeps its commission, because credit and refund notes are not consideredWhoever sets sales pay; finance pays it by payment voucher
Member points (setup)A member asks why an invoice earned no pointsEach company names one document type and status that earns. Left unset, it is the sales order at FINALA member billed on a sales invoice earns nothing unless the company names the sales invoiceThe membership programme owner

From E-Invoice

AppletWhy you end up thereWhat a sale reads or moves thereWhen it is wrong, you seeWho keeps it
My E-Invoice AdminA sale that did not reach LHDN, or a sale you need to undoAt FINAL, a sales invoice, cash bill, return, credit, debit or refund note enters the e-invoice queue when its company is ENABLED and it is not marked Skip E-Invoice. An invoice or cash bill of RM 10,000 or more goes to the Individual Pool even when marked ConsolidatedNothing in the queue, and no error: the company is not ENABLED, or the document was skipped. Once the company is ENABLED, Void is refused on its invoices, returns and notes; the route is a cancellation or a credit note (which documents send)Whoever runs e-invoicing for the group

A month of sales at GadgetSphere Distribution

GadgetSphere Distribution Sdn Bhd (GSD) invoices a corporate client for eight ultraportable laptops at RM 3,000: RM 24,000 and RM 1,440 SST, RM 25,440 in all. Here is what each neighbour does with it.

  • At FINAL the invoice is numbered. Because it is RM 10,000 or more, it goes to the e-invoice Individual Pool. A moment later the posting job reads the client’s AR/AP type (AR_TRADE, so DEBTOR) and writes debit trade debtors RM 25,440, credit SALES-LAPTOP RM 24,000 and LIAB-SST-OUTPUT RM 1,440. The eight units leave Stock Balance at the branch’s location.
  • The client pays RM 25,440. Finance raises a receipt voucher from the bank statement and saves it without picking the invoice. The cashbook is right, but the Debtor Report still ages the invoice. The fix is a contra from the receipt’s Contra tab, not a second receipt.
  • One laptop comes back damaged. A sales clerk tries Void on the invoice and is refused, because e-invoicing is ENABLED for GSD. A credit note for RM 3,180 would reduce what the client owes, but it would leave the laptop off the shelf. A Sales Return does both. The invoice itself keeps ageing in full until the return is contra’d against it.
  • GSD sells RM 8,000 of accessories to GadgetSphere Sdn Bhd (GS). The invoice bills GS’s own entity record, which was created with the company and has no AR/AP type. The invoice is FINAL with no journal behind it. Giving that record a type on its company link row, then reposting from Trace Document, puts it right. If the branch is paired, the purchase invoice also appears in GS (scenario: one company buys for another).
  • At GS-KV-01, a member buys a laptop on a sales invoice, on account, instead of at the till. GS names the cash bill as the document that earns points, so this sale earns none. Whether sales on account should earn too is the programme owner’s decision, and it is one document type per company.

When the cause is in another applet

SymptomWhere the cause isFix
FINAL invoice, empty Journal Posting StatusChart of Account (DEBTOR unmapped), or Customer Maintenance (no AR/AP type)Map the code or set the type, then repost from Financial Report › Error Checking › Trace Document
Trade debtors in the trial balance disagrees with the Debtor ReportChart of Account: SALES or OUTPUT_TAX unmapped, so the receivable absorbed the gap (Configuration §2)Map the default and repost the affected invoices
A sale landed on creditorsCustomer Maintenance: the AR/AP type is AP_TRADECorrect the type if the netting was not meant, and repost
FINAL refused, The selected date falls within a locked fiscal periodChart of Account: the period is lockedDate the document in an open period, or have the accountant unlock it
An invoiced item’s stock never fellDoc Item Maintenance: the item has no link to a stock itemLink the item before the next sale. Sales finalised before the link moved nothing, so the balance needs correcting for them
Available stock far below the balanceStock Availability: open sales orders, or a reservation nobody releasedClose or void dead orders and release holds (Core concepts §3)
The ageing still shows an invoice that was paidReceipt Voucher: no contraContra the receipt against the invoice
The invoice still ages in full after a credit noteDebtor Report: the credit note was raised but never contra’dContra it from the credit note’s or the invoice’s Contra tab (guide)
Returned goods were credited and never came back to stockA credit note was used where a return was neededRaise a Sales Return as well (Core concepts §5)
The commission report is emptyCommission Scheme: no active schemeActivate one, then process the cycle
A member’s invoice earned no pointsMember points: the company names another document typeDecide which document should earn, per company
An invoice never reached LHDN, and no error was shownOrganisation: the company’s e-invoice status is not ENABLED; or the document, branch or customer is marked SkipEnable the company. Documents finalised before that are not picked up afterwards (company E-Invoice tab)

Verify the links in ten minutes

In each company, before its first live invoice, raise one test invoice for one stocked item to a customer on terms, finalise it, and give the job a moment. Then:

  1. The invoice’s Posting tab reads POSTED. If it is empty, Chart of Account or the customer’s AR/AP type is the gap.
  2. Ledger And Journal shows one debit to trade debtors equal to the invoice total, and credits to sales and SST payable. A debit equal to the tax alone means SALES is unmapped.
  3. Stock Balance for the item at that location is lower by the quantity sold. If it is not, the item has no stock link.
  4. My E-Invoice Admin lists the invoice, in a pool or in the queue, where e-invoicing is meant to be on.
  5. Receive a test payment against it, contra it, and check that the Debtor Report shows nothing open.

Each check catches a gap that nothing else reports. Run the same five for each company in the group, since GL defaults and e-invoice status are set per company, while the customer list is shared.

What is left to people, and who does it

  • Reconcile the receivable account with the ageing every month. The accountant. The ageing is built from documents and the trial balance from journals, so only comparing the two finds an unmapped default.
  • Apply every receipt, credit note and return. Accounts receivable, the day each is raised. None of them applies itself.
  • Release a reservation when an order dies. Whoever placed it. Voiding the order does not.
  • Adjust commission for returned sales. Whoever approves the payout. Compare the period’s credit notes with the commission report and deduct on the payment voucher.
  • Tell the e-invoice owner when a cash bill is voided after validation. The branch manager. The e-invoice stays Valid at LHDN until somebody cancels it within 72 hours or issues a credit note.
  • Decide which document earns member points. The programme owner, once per company.

Where these applets sit

  • What must exist first: a company, branch and location; GL defaults for DEBTOR, SALES, SALES_RETURN and OUTPUT_TAX in each company; customers with an AR/AP type; items linked to stock items where stock should move; tax codes; and, for e-invoicing, the company ENABLED.
  • What a FINAL invoice makes possible: the journal and the stock movement; the e-invoice; a receipt that clears it; the statement and the ageing; the commission run; and, with a pairing, the other half of an intercompany sale.
  • Siblings, and when to use which: a credit note when only money changes, a return when goods come back; a contra rather than a second receipt for a payment already banked; the Sales Invoice rather than the till when an integration must hear about the sale.
  • What breaks elsewhere when one is wrong: a changed AR/AP type changes the account of every later posting and repost of that customer; an unmapped default leaves every invoice in that company short; a customer marked Skip E-Invoice is skipped in all three GadgetSphere companies.
  • Used together in practice: Customer Maintenance alongside the invoice every day; Receipt Voucher with the Debtor Report every week; Ledger And Journal with the Debtor Report at month-end.

Where to go next

If you are setting a company up, read Configuration next: it puts these neighbours in order and says what each gap looks like.