A AION Academy

Feature

SLA engine — zero manual journal entries

Every transaction posts the matching GL journal automatically. Invoices, receipts, payments, payroll, variance, FX gain/loss, period close — all auto-generated by AION's Subledger Accounting engine. The CFO stops copy-pasting and starts deciding.

The promise — and why it matters

A factory accountant in a non-automated environment writes journal entries all day. Sales invoice posted: copy the amount to a journal, debit AR, credit revenue, credit VAT. Material receipt: debit raw inventory, credit AP accrual. Payment: debit AP, credit bank, deal with FX if applicable. Payroll: a dozen lines per pay run.

Hundreds of operational transactions a week, each requiring a journal. Some get the wrong account. Some get the wrong amount. Some never get posted at all. At month-end, the reconciliation team finds the gaps and posts catch-up journals. The trial balance comes out late, with adjustments visible in the audit trail.

The SLA engine breaks this pattern. Every operational transaction triggers a configured rule that generates the matching GL journal in the same transaction. The clerk doesn't write a journal; the system writes it. The CFO doesn't reconcile; the system is already balanced.

What the SLA engine automates

A list of operational events that post GL journals without human intervention.

PO receipts and landed cost

Goods receipt → DR Raw Inventory / CR AP Accrual. Landed cost components (freight, customs) lay on. FX captured at receipt for multi-currency.

AP invoice match

Invoice received and matched against PO + receipt → DR AP Accrual / DR VAT Input / CR AP — supplier. Accrual cleared, real AP recognised.

AP payment

Payment to supplier → DR AP — supplier / CR Bank. FX gain/loss posts automatically for multi-currency payments.

Sales invoicing with e-invoicing

Sales invoice posted → DR AR / CR Revenue / CR VAT Output. ZATCA-cleared XML generated. ETA serial assigned. Country-aware behaviour from the BG profile.

AR receipt application

Customer payment received → DR Bank / CR AR. Auto-application to open invoices. Over- and under-payments flagged.

Material issue to production

Issue raw material to a job → DR WIP / CR Raw Inventory at the period average cost (or layer cost for FIFO/LIFO).

Production completion

Job completion → DR Finished Goods / CR WIP. Labour and overhead absorption posted via routing. Variance journals (material usage, labour efficiency, overhead) auto-generated.

Payroll run

Pay run posted → multi-line journal: gross salaries, allowances, employer social insurance, withholding tax, net AP to bank. All country-specific.

Period close — costing

5-step costing close runs SLA against any orphaned cost transactions, sweeps uncosted issues to final average, posts variance adjustments. The close is finished journal posting, not done over journal posting.

VAT remittance

Monthly VAT return → DR VAT Output / CR VAT Input / CR Bank for the net remittance. Form generated from the same data the SLA engine has been posting all month.

How an SLA rule fires

Walk through a specific example: Oasis Fresh receives 500 kg of mango concentrate from Cairo Citrus Co. at USD 42/kg. FX rate on receipt: 3.75 SAR/USD.

  1. The warehouse clerk receipts the PO against the actual delivery. Quantity 500 kg, lot CC-2026-0432, condition acceptable.
  2. The receipt transaction fires the "Goods Receipt — Raw Material" SLA rule.
  3. The rule looks up the BG's country profile: SAR home currency, ZATCA tax accounts.
  4. The rule looks up the item's accounting category: raw material → debits 1200 Raw Material Inventory.
  5. The rule looks up the supplier's AP accrual account: credits 2110 AP Accrual — Cairo Citrus Co.
  6. The rule computes the SAR equivalent: 500 × 42 × 3.75 = SAR 78,750.
  7. Landed cost components (freight, customs) layer on with their own debits to the same inventory account.
  8. Journal posted: DR 1200 Raw Material Inventory SAR 78,750 / CR 2110 AP Accrual — Cairo Citrus SAR 78,750. Plus landed cost lines.
  9. The clerk sees the receipt confirmation. They don't see the journal — the system handled it.

When the supplier invoice arrives 5 days later, the matching SLA rule fires: clears the accrual, recognises the real AP, picks up VAT input (if applicable). When payment is made 30 days after that, another rule fires: clears AP, debits bank, handles FX gain/loss if the rate moved.

At no point does an accountant write a journal entry. The chain of operational events triggered the chain of journals automatically.

What the CFO actually gets

Three things change for the finance organisation:

  1. The GL is always current. At any moment, the trial balance reflects every transaction posted up to that moment. No "we'll see the real numbers at month-end."
  2. Period close is reconciliation, not data entry. Close drops from 2-3 weeks to 2-3 days because there's nothing to catch up on. The close is investigating variances, posting period-specific adjustments, and signing off.
  3. Audit trails are clean. Every journal traces back to an operational transaction. The auditor can drill from the GL line to the source document in 2 clicks. Audit time drops from weeks to days.

The accounting team's role shifts. Less time on data entry and reconciliation. More time on financial analysis, planning, and decision support. The same headcount produces more business value.

Common questions

What is the SLA engine specifically?

Subledger Accounting — a rule engine that translates operational transactions (receipts, issues, invoices, payments, payroll runs, variance events) into the corresponding GL journals. Each rule defines: which event triggers, which accounts to debit/credit, which currency to use, which tax treatment applies. Configured per country profile; runs automatically as transactions post.

Can we override an SLA-generated journal?

Yes, with audit. Manual journal entries are supported for genuinely exceptional cases (true-up adjustments, reclassifications, period-end accruals not covered by an operational event). Each manual journal records who posted it, when, with what justification. The audit trail distinguishes SLA-generated from manual entries.

What happens if SLA rules need to change?

Rule changes are configurable, not code changes. A change in tax treatment, account mapping, or posting timing is a configuration update applied to the SLA rule set. New transactions follow the new rule; historical journals retain their original treatment.

Does the SLA engine work the same way across all three demo BGs?

Same engine, different parameters. Each BG's country profile drives which tax rates apply, which accounts the journals hit, which e-invoicing payload (if any) is generated. The mechanical posting flow is identical; the country-specific behaviour is layered on via configuration.

Watch the SLA engine in the demo

Log into Oasis Fresh, post any transaction, jump to the GL — the journal is already there.