AMANA ERP posts retail and inventory transactions to the general ledger automatically when accounts and fiscal periods are configured correctly.
Chart of accounts
During onboarding (completeSetup), the system seeds a default chart of accounts and fiscal year if none exist. Account codes are stable across GCC and Africa variants; labels may differ by region.
Tenant GL defaults
Settings → Company → Finance stores optional account codes (not IDs) for common flows:
| Setting | Default code (if blank) | Used for |
|---|---|---|
| AR / cash | 1110 | Customer receipts |
| AP | 2110 | Supplier invoices |
| Sales revenue | 4100 | POS and invoicing |
| VAT | 2120 | Tax liability |
| COGS | varies | Cost of goods sold |
| Inventory | 1140 | Stock movements |
Leave a field empty to use the built-in default that matches the seeded chart.
Product-level overrides
Individual products may override income, expense, inventory, and COGS accounts. When a sale line uses a product with overrides, auto-posting prefers those accounts over tenant defaults.
Auto-posting requirements
A journal entry is created when:
- All required GL accounts exist and are active
- An open fiscal period covers the transaction date
- The transaction type is supported (POS, GRN, returns, adjustments, stocktake, etc.)
Check readiness via Finance → Auto-posting or the GL health endpoint in developer docs.
Inventory valuation
Stock adjustments and stocktakes value lines using cost price when set, otherwise base selling price. Zero-value lines may queue to the auto-post failure log instead of silently skipping.
Period close
Close periods only after reconciling bank, AR/AP sub-ledgers, and inventory. Reopening a period may be restricted by role.