ZuloOne
English
Sign in
Menu

🏦 Accounting settings — what the posting profile controls

Updated

Accounting settings are the singleton posting profile for the stand. They tell the ledger which chart-of-accounts leaf receives each subledger leg, and they also hold the default currency used by module defaults.

← Business processes

How the process works#

Open Accounting → Settings → Accounting settings after the chart of accounts is created. Each visible account field is a reference to ChartOfAccounts; the hidden *AccountCode fields are stamped from the selected account when the record is saved.

The profile is best-effort. If an account is empty, the business document still posts to its operational register, but the matching GL leg is skipped. This is useful during implementation, but it creates a reconciliation gap by exactly that skipped amount.

Settings#

Setting Empty value Filled value
Default currency No currency is stamped by this profile; other module defaults may still provide one New documents and records that ask IRecordDefaults can take this currency
Auto-post journal entries Manual JournalEntry records are saved as drafts until the user presses Post journal entry A balanced journal can be posted automatically when the saving path uses the journal service
Receivables account Customer debt stays in Receivable, with no GL debit Customer issue posts Dr receivables
Revenue account Revenue stays in Revenue, with no GL credit Customer issue posts Cr revenue
Inventory account Stock and WIP can move in registers without GL inventory legs Receipts, issues, production and cost of sales use this account
Payables account Supplier debt stays in Payable, with no GL credit Supplier receipt posts Cr payables
Purchase price variance account A supplier invoice that disagrees with the receipt still moves Payable, but the ledger gets no leg for the gap Register on a SupplierInvoice posts the difference here: Dr variance / Cr payables when the supplier billed more, the reverse when less
Cost of goods sold account Sales cost stays only in costing registers Issued realization posts Dr cost of goods sold
VAT payable account Output VAT stays only in TaxLedger Output VAT posts to the payable VAT account
VAT receivable account Input VAT stays only in TaxLedger Recoverable input VAT posts to the receivable VAT account
WIP account Production release and finish remain silent in the ledger ProductionOrder in Released posts Dr WIP / Cr inventory; Finished posts the reverse
Labor absorbed account Labour still enters product cost, but the GL misses the labour absorption Finished posts Dr inventory / Cr labour absorbed
Cash account Payment documents settle debt registers without a cash GL leg Payment documents can post the cash side
Payroll expense / liability / social insurance accounts HR registers move without GL Payroll and social insurance documents write their configured GL legs
Inventory write-off / surplus accounts Stock adjustments change stock without these GL balancing legs Shortage and surplus use the selected accounts

Every account must be a leaf. The event handler rejects a group account; postings need final account codes, not headings.

Example with numbers#

A purchase receipt brings 4 bolts at 25 each, VAT 15%.

Profile state Operational result GL result
Inventory account, Payables account and VAT receivable account are filled Stock +4, Payable +115, TaxLedger +15 Dr inventory 100, Dr VAT receivable 15, Cr payables 115
VAT receivable account is empty same registers Dr inventory 100, Cr payables 115; VAT exists in TaxLedger only
all three are empty same registers no receipt GL legs

The boundary is important: empty accounts do not block operations. They make the ledger incomplete by the missing leg.

Boundaries and edge cases#

  • Saving the reference stamps the hidden code. Users do not type the code.
  • Empty reference means "do not create that GL leg"; it does not mean "use a default account".
  • Changing an account does not repost older documents by itself. Repost or reverse documents deliberately if the old ledger must change.
  • WIP account and Labor absorbed account are separate. WIP moves material cost during production; labour absorbed moves payroll cost into inventory on output.
  • Purchase price variance account is a profit-and-loss leaf, not a second inventory account. The receipt priced the stock in InventoryValue and in the cost layers, and a later invoice does not reopen those layers — see Supplier invoice. Pointing this field at the inventory account would put the ledger permanently ahead of the costing subledger.

What is posted#

The profile does not post anything by itself. It is read by posting handlers of documents such as PurchaseOrder, SalesRealization, PurchaseCreditNote, ProductionOrder, JournalEntry, payroll documents and stock documents.

For production, a release of components worth 28 posts Dr WIP / Cr inventory if WIP account is filled. Finishing reverses that pair and, if 90 minutes at 120 per hour were confirmed, adds Dr inventory 180 / Cr labour absorbed 180 if Labor absorbed account is filled.

What's not there yet#

  • An empty account is not reported as a setup error before posting. The document succeeds and the missing GL leg is visible only by reconciliation.
  • This profile names GL leaves. It does not import bank statements or match them to invoices. Cash and bank documents live on cash and bank.

Same topic for other readers: User · Developer

Where next#

Was this page helpful?