Who uses this module
| User | Role | How they use it |
|---|---|---|
| AP Clerk | Primary user | Invoice entry, three-way match, payment runs |
| Accountant | Daily user | GL reconciliation, supplier statements |
| Treasury | Weekly user | Payment approvals, cash flow planning |
| CFO | Approver | Payment run approvals above threshold |
| Supplier | External | Statement self-service (Phase 2) |
The business problem
AP is the most audit-exposed subledger in most SMBs. Common failures:
- Three-way match is done manually. The AP clerk eyeballs PO, receipt, and invoice from a stack of papers. 5-15 hours monthly. 20-30% of invoices get paid with small discrepancies nobody chases.
- Missed accruals. Goods arrive on day 28, invoice doesn’t show until day 3 of the next month. Without an accrual at receipt, month-end liabilities are understated. Audit finding.
- Duplicate payments. Same invoice paid twice because supplier resent it or PO number was mistyped. Typical SMB loses 0.5-1% of annual spend to duplicates.
- No approval trail. “Did you approve this PO?” — no user, no timestamp, no log.
- Wrong inventory cost. Manual cost entry drifts from reality. COGS is fiction. Pricing decisions are bad.
- No cash visibility. “How much do we owe next month?” — the accountant says “give me two hours.”
Key features
Supplier Master
- Contact info, tax registration, bank details (IBAN), payment terms
- Credit limits and early-payment discount policies
- Withholding tax rates per supplier
- Multi-currency support — pay the same supplier in USD, SAR, or EGP
Invoice Entry
- Manual entry with supplier auto-complete
- OCR upload — scan/photo an invoice, AION extracts header fields
- E-invoice import — XML import (ZATCA-ready format)
- Duplicate prevention — supplier + invoice number is a unique key, blocks re-entry
Three-Way Match
- Auto-match on invoice approval: PO + Goods Receipt + Invoice
- Configurable tolerance per line: quantity, unit price, total amount
- Exceptions routed for override (with documented reason)
- Full audit trail of the match decision
Accruals & GRIR
- Goods Received / Invoice Received reconciliation runs continuously
- Goods receipt posts
DR Raw Material Inventory, CR AP Accrualautomatically - Invoice approval clears the accrual and posts real AP
- GRIR aging report shows any goods received without invoices for > N days
Approval Workflows
- Multi-level based on amount, cost center, supplier category
- Email + in-app notifications
- Delegation during vacation
- Auto-approval for routine low-value invoices within policy
Payment Runs
- Bulk payment runs — select all due invoices for a date, approve once, pay in a batch
- Payment terms — Net 30, 2/10 net 30, staggered installments
- Wire / check / ACH — multiple payment methods per run
- Bank file export — WPS-format or SEPA file for treasury to upload to the bank
- Partial payments — short pays, over pays, disputed invoice holds
Recurring Payables
- Monthly rent, utilities, subscriptions — set up once, auto-generate invoices each period
- Budget check at generation
F&B scenario
Oasis Fresh (Saudi BG) buying mango concentrate. Cairo Citrus Co. (international supplier from Egypt), USD 4,500 for 500L of mango concentrate, payment terms Net 60.
- Receipt arrives from Egypt. Warehouse marks PO received. AION posts: DR Raw Material Inventory 16,875 SAR, CR AP Accrual 16,875 SAR (using USD rate of 3.75 at receipt date).
- Invoice arrives 3 days later. AP clerk enters it, clicks Match. AION pulls the PO and receipt, confirms tolerances pass. AP clerk clicks Approve.
- AION posts: DR AP Accrual 16,875, DR VAT Input 2,531, CR AP — Cairo Citrus 19,406. Accrual cleared; real AP recognized.
- 30 days later, treasury runs a payment batch that includes this invoice. Bank file exported, uploaded to SABB. Payment posts: DR AP — Cairo Citrus 19,406, CR Bank 19,406.
Cairo Citrus’s AP balance is zero. The trial balance stayed in balance at every step. AP clerk did not manually post a single journal entry.
Integration with other modules
- Procurement — POs linked to AP invoices; three-way match uses procurement data
- Inventory — goods receipts trigger AP accrual via the Inventory SLA resolver
- GL — every AP event (invoice, payment, accrual clearance) posts via the Payables SLA resolver
- Tax — VAT input captured at invoice approval for VAT return filing
- Cash Management — payment runs clear bank accounts; bank rec matches
Reports out of the box
| Report | What it shows |
|---|---|
| AP Aging | Who we owe, how overdue |
| Supplier Statement | Activity per supplier |
| Open Invoices | Approved but not yet paid |
| GRIR Reconciliation | Goods received without invoice (and vice versa) |
| VAT Input Report | VAT claimable on purchases |
| Payment Run Summary | All payments in a batch |
| Supplier Performance | Delivery time, invoice accuracy, dispute rate |
| WHT Report | Withholding tax by supplier |
All bilingual, exportable, drillable to source.
Compliance
- VAT — input tax captured on every invoice
- WHT — auto-calculated per supplier
- ZATCA e-invoice — XML import of supplier e-invoices (Phase 2 API integration on roadmap)
- Audit trail — every approval, change, and match decision logged
vs. alternatives
| Feature | Excel | Odoo | SAP B1 | AION |
|---|---|---|---|---|
| Three-way match | Manual | ✅ | ✅ | ✅ |
| Automatic AP accrual | ❌ | Partial | ✅ | ✅ |
| GRIR clearing | Manual | Basic | ✅ | ✅ |
| Duplicate detection | ❌ | Basic | ✅ | ✅ |
| Bulk payment runs | ❌ | ✅ | ✅ | ✅ |
| Multi-currency + FX variance | ❌ | ✅ | ✅ | ✅ |
| Arabic-native | Depends | Partial | Partial | ✅ |
Where this module lives in the code
aion-erp/apps/api/src/modules/accounts-payable/ Ready to see it live?
Log in with admin / Admin123 and try this module in the juice factory scenario, or reach out for a guided walkthrough.
Related modules
General Ledger
Close books in 2 days, not 2 weeks. Every transaction auto-posts. Full audit trail.
Accounts Receivable
Credit limits, aging, statements, and ZATCA-ready Arabic invoices with QR codes.
Inventory
Lot/batch tracking, expiry dates, FIFO/FEFO, multi-warehouse, period average cost.
Manufacturing
Formulas with versioning, job orders, material issue/backflush, batch costing, scrap tracking.