Automatic Accounting Postings
The system creates inventory movements and accounting entries from controlled business actions. An ADMIN does not need to create a manual journal for these standard events.
For terminology, see the Glossary. For where the resulting entries appear, see Financial Reports.
Save is not the same as post
Saving a DRAFT document records information that can still be reviewed. It does not normally move physical inventory or create an accounting entry.
The effect occurs only when the relevant action succeeds, such as Confirm, Receive, Dispatch, or Post. Settlement documents, expense entries, advances, and LC realizations do not have a separate draft-post cycle: creating them is the posting action.
If an action fails, its status change, inventory movement, and accounting entry are rolled back together.
Source date and open period
Every action that creates an accounting entry uses the source document’s business date, not the date on which an ADMIN happens to click the action. That business date must belong to an existing OPEN accounting period.
Example: a GRN dated 2026-08-15 posts to the August period even if Receive is selected on 2026-08-18. If the August period is closed or missing, receipt is rejected and neither inventory nor accounting is changed.
Check dates before posting. Do not change a business date merely to bypass a closed period. Ask the CA whether the period should be reopened or whether a current-period adjustment is appropriate.
Financial reports and system journal amounts use BDT. Foreign-currency sales and settlement workflows use their recorded exchange rates where supported.
Important limitation: Foreign-procurement booking is not fully modeled. Purchase Orders and Supplier Bills do not currently carry a booking exchange rate, so their journal values retain the existing base-BDT assumption. Do not use non-BDT procurement without an approved accounting procedure and CA review.
End-to-end example
Assume the company buys 100 units at BDT 1,000 each and sells them at BDT 1,500 each.
Purchase and inventory flow
| Business event | Inventory effect | Accounting effect |
|---|---|---|
| Save PO as DRAFT | None | None |
| Confirm PO for 100 units | Quantity on order increases by 100 | None |
| Save GRN as DRAFT | None | None |
| Receive GRN for 100 units | On hand increases by 100; on order decreases by 100; WAC becomes BDT 1,000 if there was no earlier stock | Debit Inventory BDT 100,000; Credit Goods Received Not Invoiced (GRNI) BDT 100,000 |
| Create supplier bill from the GRN as DRAFT | None | None |
| Post supplier bill | None | Debit GRNI BDT 100,000; Credit Accounts Payable BDT 100,000 |
| Create supplier payment | None | Debit Accounts Payable BDT 100,000; Credit selected cash or bank account BDT 100,000; bill becomes PAID |
PO confirmation is a planning movement, not a purchase expense or liability. The accounting starts when goods are received. The supplier bill then moves the temporary GRNI balance into Accounts Payable.
Sales and inventory flow
| Business event | Inventory effect | Accounting effect |
|---|---|---|
| Save SO as DRAFT | None | None |
| Confirm SO for 100 units | Quantity reserved increases by 100 | None |
| Save DC as DRAFT | None | None |
| Dispatch DC for 100 units | On hand and reserved each decrease by 100; dispatch is rejected if either is insufficient | Debit Cost of Goods Sold BDT 100,000; Credit Inventory BDT 100,000, using WAC before dispatch |
| Create CI from the DC as DRAFT | None | None |
| Post CI | None | Debit Accounts Receivable BDT 150,000; Credit Revenue BDT 150,000 |
| Create customer receipt | None | Debit selected cash or bank account BDT 150,000; Credit Accounts Receivable BDT 150,000; CI becomes PAID |
SO confirmation reserves stock but does not recognize revenue. DC dispatch recognizes the inventory cost. CI posting recognizes the sale. These may occur on different business dates and therefore in different periods.
Detailed event map
| Event | Trigger | Inventory effect | Accounting effect |
|---|---|---|---|
| PO confirmation | Confirm on a DRAFT PO | Increases quantity on order by ordered quantity | No journal |
| GRN receipt | Receive on a DRAFT GRN | Increases on hand, reduces on order without taking it below zero, recalculates WAC | Debit Inventory; Credit GRNI at received quantity multiplied by PO unit cost |
| Supplier bill posting | Post on a DRAFT supplier bill | None | Debit GRNI; Credit Accounts Payable |
| Supplier payment | Create payment for POSTED bills | None | Debit Accounts Payable for outstanding amount after advances; Credit selected payment account; bills become PAID |
| SO confirmation | Confirm on a DRAFT SO | Increases quantity reserved; reservations may exceed current on-hand stock | No journal |
| DC dispatch | Dispatch on a DRAFT DC | Reduces on hand and reserved; WAC itself is unchanged | Debit Cost of Goods Sold; Credit Inventory at pre-dispatch WAC |
| CI posting | Post on a DRAFT CI | None | Debit Accounts Receivable; Credit Revenue at the CI amount converted to BDT |
| Customer receipt | Create receipt for POSTED CIs | None | Debit selected deposit account; Credit Accounts Receivable for outstanding amount after advances; realized FX gain or loss may be added; CIs become PAID |
| Expense entry | Create expense entry | None | Debit the expense category’s account; Credit the selected cash or bank payment account |
| Customer advance | Create advance for an eligible confirmed CASH SO | None | Debit selected deposit account; Credit Customer Advances Received |
| Supplier advance | Create advance for an eligible confirmed CASH PO | None | Debit Supplier Advances; Credit selected payment account |
| LC realization | Create realization for a MATURED LC and linked POSTED CIs | None | Debit selected bank account; Credit Accounts Receivable at booked BDT; post realized FX gain or loss and bank charge where applicable; CIs become PAID and LC becomes REALIZED |
Advances and later application
An advance records money before the final invoice or bill.
Customer advance
Suppose the customer prepays BDT 30,000 against the BDT 150,000 CASH SO:
- Creating the advance debits Bank BDT 30,000 and credits Customer Advances Received BDT 30,000.
- Posting the CI still records the full sale: debit Accounts Receivable BDT 150,000 and credit Revenue BDT 150,000.
- The system automatically applies the advance: debit Customer Advances Received BDT 30,000 and credit Accounts Receivable BDT 30,000.
- The remaining receivable is BDT 120,000. A customer receipt settles that balance.
If advances fully cover the CI, posting automatically marks it PAID.
Supplier advance
Suppose BDT 20,000 was prepaid against the BDT 100,000 CASH PO:
- Creating the advance debits Supplier Advances BDT 20,000 and credits Bank BDT 20,000.
- Posting the bill records debit GRNI BDT 100,000 and credit Accounts Payable BDT 100,000.
- The system applies the advance: debit Accounts Payable BDT 20,000 and credit Supplier Advances BDT 20,000.
- The supplier payment settles the remaining BDT 80,000.
Advances are not available for LC orders. An applied advance cannot be cancelled.
Expenses
Creating an expense entry posts immediately. For a BDT 5,000 office expense paid from Bank:
- Debit Office Expense BDT 5,000.
- Credit Bank BDT 5,000.
The expense category determines the debit account, while the selected payment account determines the credit. Verify both before creating the entry because there is no draft-post step.
LC realization
LC creation, issue, linkage, document submission, and maturity do not by themselves create the realization journal described here. Creating an LC realization is the accounting settlement event.
For a BDT 150,000 posted CI settled through a matured LC with a BDT 1,000 bank charge:
- Debit Bank BDT 150,000 and credit Accounts Receivable BDT 150,000.
- Debit Bank Charge Expense BDT 1,000 and credit Bank BDT 1,000.
- Mark linked CIs PAID and the LC REALIZED.
For foreign currency, the system compares realized BDT with the receivable’s booked BDT and posts the difference to Realised FX Gain or Realised FX Loss.
Cancellations and reversals
Settlement documents and advances use controlled cancellation rules. Where cancellation is allowed, the system preserves the original journal and creates a separate reversing journal; it does not erase accounting history. Related business statuses are restored as part of the same transaction.
Operational DRAFT documents may be cancelled before posting. A cancellation is not a substitute for correcting an already posted transaction. Consult the CA before reversing or compensating accounting activity.
What to check after posting
- Confirm the source document has the expected status.
- Review inventory quantities after PO, SO, GRN, and DC actions.
- Open the relevant account in General Ledger and verify the source reference and business date.
- Review Trial Balance for equal debit and credit totals.
- Use Accounting Setup > Readiness to identify setup, classification, calendar, or ledger issues.
- Investigate failures rather than entering a duplicate document or manual journal.
Related Guides
Return to the Accounting User Guides index.
Reviewed against the application on: 2026-08-21