A AION Academy

Module · 7 min read

Accounts Payable

Three-way match, automatic accrual at receipt, duplicate invoice prevention, bulk payment runs — with every journal entry posted automatically.

Who uses this module

UserRoleHow they use it
AP ClerkPrimary userInvoice entry, three-way match, payment runs
AccountantDaily userGL reconciliation, supplier statements
TreasuryWeekly userPayment approvals, cash flow planning
CFOApproverPayment run approvals above threshold
SupplierExternalStatement 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 Accrual automatically
  • 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.

  1. 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).
  2. Invoice arrives 3 days later. AP clerk enters it, clicks Match. AION pulls the PO and receipt, confirms tolerances pass. AP clerk clicks Approve.
  3. AION posts: DR AP Accrual 16,875, DR VAT Input 2,531, CR AP — Cairo Citrus 19,406. Accrual cleared; real AP recognized.
  4. 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

ReportWhat it shows
AP AgingWho we owe, how overdue
Supplier StatementActivity per supplier
Open InvoicesApproved but not yet paid
GRIR ReconciliationGoods received without invoice (and vice versa)
VAT Input ReportVAT claimable on purchases
Payment Run SummaryAll payments in a batch
Supplier PerformanceDelivery time, invoice accuracy, dispute rate
WHT ReportWithholding 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

FeatureExcelOdooSAP B1AION
Three-way matchManual
Automatic AP accrualPartial
GRIR clearingManualBasic
Duplicate detectionBasic
Bulk payment runs
Multi-currency + FX variance
Arabic-nativeDependsPartialPartial

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.