Lesson 4 of 5 · 10 min read
Lab: Mango concentrate end-to-end
A hands-on walkthrough in the Oasis Fresh (Saudi) demo BG. You'll create a requisition for 500L of mango concentrate, approve it, issue a PO, receive the goods, process the invoice, pay the supplier, and verify every GL entry along the way. The same flow runs in Pearl F&B (Qatar) and Nile Foods (Egypt) — see the region variants at the bottom.
Before you start
Open the demo in a new tab:
- URL: https://aion-erp.vercel.app
- Username:
admin - Password:
Admin123
The Oasis Fresh Saudi scenario is already seeded — suppliers, items, GL accounts, everything you need. Make sure you’re in the Oasis BG (use the BG switcher or log in as cfo.saudi).
Your mission: Buy 500L of mango concentrate (65° Brix) from Cairo Citrus Co. in Egypt, end-to-end. Watch every journal entry.
Estimated time: 10 minutes.
Step 1 — Create the purchase requisition
Navigate to: Procurement → Requisitions → New
Fill in:
- Requester: you (the admin user)
- Required by: a date two weeks out
- Item: Mango concentrate 65° Brix (RM-001)
- Quantity: 500 L
- Estimated unit cost: 9.00 USD
- Justification: “Stock for JO-2026-00123 (mango juice production batch)”
Save the requisition. Note the number — something like REQ-2026-00123.
What you just did: Created a request. No GL impact. The requisition is in “Pending Approval” status.
Step 2 — Approve the requisition
Navigate to: Approvals → Pending
You’ll see your requisition. As admin, you can approve it — in a real deployment, this would be a department head or budget owner.
Click Approve. Status moves to “Approved.”
Step 3 — Convert to a Purchase Order
Navigate to: Procurement → Requisitions → [your REQ number]
Click Convert to PO. AION pre-fills the PO with the requisition details. You add:
- Supplier: Cairo Citrus Co. (SUP-001)
- Payment terms: Net 30
- Currency: USD
- Confirmed unit price: 9.00 USD
- Delivery date: 10 days out
Save. The system creates PO-2026-00456 (or similar).
What you just did: Committed to a future purchase. Still no GL impact. But the PO now appears on the Open POs report — a forward-looking liability.
Step 4 — Approve the PO
Navigate to: Approvals → Pending again.
Approve the PO. It’s now ready to send to the supplier.
(In real life, this is when you’d email or EDI the PO to Hassan. The demo skips the email step.)
Step 5 — Receive the goods
Navigate to: Inventory → Receiving → New
Select the PO you just created. The receipt screen pre-fills quantities.
Fill in:
- Received quantity: 500 L (full receipt)
- Lot number:
MAN-2026-0512-EGY - Expiry date: 2026-12-31
- Country of origin: Egypt
- Warehouse: Cold Storage A
Save. The receipt is posted.
GL impact — automatic:
| Account | DR | CR |
|---|---|---|
| 1200 Raw Material Inventory | 16,875 SAR | |
| 2110 AP Accrual | 16,875 SAR |
Check it: Navigate to General Ledger → Trial Balance. Pick the current period. Scroll to accounts 1200 and 2110 — both now reflect the receipt. No manual journal entry was posted.
Note on the amount: USD 4,500 × 3.75 SAR/USD = 16,875 SAR using the seeded exchange rate. If you change the rate in the demo, your numbers will differ.
Step 6 — Enter the supplier invoice
A few days later (simulated), Hassan’s invoice arrives. Navigate to: AP → Invoices → New
Fill in:
- Supplier: Cairo Citrus Co. (SUP-001)
- Supplier invoice number:
INV-HASSAN-2026-0512 - Invoice date: today
- Amount: 4,500 USD (will convert to SAR at current rate)
- Link to PO: select
PO-2026-00456
Save (draft).
Step 7 — Run the three-way match
On the draft invoice, click Match.
AION pulls the PO and the receipt, compares them, and shows a table:
| PO | Receipt | Invoice | Status | |
|---|---|---|---|---|
| Quantity | 500 | 500 | 500 | ✅ |
| Unit price | 9.00 USD | — | 9.00 USD | ✅ |
| Total | 4,500 USD | — | 4,500 USD | ✅ |
All green. If any were off by more than your tolerance, you’d see a red flag and have to resolve before approving.
Step 8 — Approve the invoice
Click Approve. The SLA engine fires.
GL impact — automatic:
| Account | DR | CR |
|---|---|---|
| 2110 AP Accrual | 16,875 SAR | |
| 1280 VAT Input | 2,531 SAR | |
| 2100 AP — Cairo Citrus Co. Co. | 19,406 SAR |
(If there’s FX variance between the receipt-date rate and today’s rate, a small amount posts to 7200 FX Gain/Loss. Watch for this on the journal entry screen.)
Check it: Trial Balance now shows:
- 1200 Raw Material Inventory: +16,875 (from step 5)
- 1280 VAT Input: +2,531 (from this step)
- 2100 AP — Hassan: +19,406 (from this step)
- 2110 AP Accrual: 0 (created in step 5, cleared in step 8)
The accrual came and went. This is the GRIR clearing we talked about in Lesson 3.
Step 9 — Pay the supplier
Navigate to: AP → Payments → New
Select Hassan’s open invoice. Confirm the amount (19,406 SAR). Pick the bank account (SABB Current, 1010). Save and post.
GL impact — automatic:
| Account | DR | CR |
|---|---|---|
| 2100 AP — Cairo Citrus Co. Co. | 19,406 SAR | |
| 1010 Bank — SABB | 19,406 SAR |
Hassan’s AP balance returns to zero. Bank is down 19,406.
Step 10 — Bank reconciliation (quick tour)
Navigate to: Cash Management → Bank Reconciliations
In a real month, you’d import a bank CSV here and auto-match against the payment you just recorded. The demo has a bank rec screen where you can walk through this — we’ll cover it properly in the Record-to-Report course.
Verify the full picture
Navigate to: General Ledger → Trial Balance → as-of today
Look at the net impact across all 10 steps:
| Account | Net change |
|---|---|
| 1200 Raw Material Inventory | +16,875 |
| 1280 VAT Input (claimable) | +2,531 |
| 1010 Bank | −19,406 |
| 2110 AP Accrual | 0 (appeared and cleared) |
| 2100 AP — Cairo Citrus Co. | 0 (appeared and cleared) |
Trial balance is balanced. Every step was a balanced journal entry. Every entry posted automatically.
You did not touch the GL. Not once.
What would have been different with Excel
- You would have posted no journal entries until month-end
- The accrual probably would have been missed entirely
- VAT input might have been captured on a different line than inventory cost
- FX variance would have been swept into “other expenses”
- Cairo Citrus Co.’s statement would have taken 20 minutes to reconcile instead of 0
That’s the ROI of P2P automation. Next lesson puts numbers to it.
Also runs in Pearl F&B (Qatar) and Nile Foods (Egypt)
The same procure-to-pay flow runs across all three demo Business Groups. Each has its own currency, tax regime, and supplier mix — but the cycle structure is identical.
| 🇸🇦 Oasis Fresh (Saudi) | 🇶🇦 Pearl F&B (Qatar) | 🇪🇬 Nile Foods (Egypt) | |
|---|---|---|---|
| Currency | SAR | QAR | EGP |
| VAT on receipt | 15% input VAT | 0% (no mandate) | 14% input VAT + 5% WHT on services |
| CFO login | cfo.saudi | cfo.qatar | cfo.egypt |
| Featured supplier | Cairo Citrus Co. (Egypt, USD) | Brazilian Tropical Fruit Ltda (BRL) | Anatolian Concentrates (Turkey, USD/TRY) |
The multi-currency import flow is most pronounced in Pearl F&B (Qatar imports from Brazil, UAE, Oman, Switzerland — six currencies in the supplier book) and Nile Foods (Egypt imports from Turkey, Brazil, Germany, China with EGP devaluation pressure on landed cost).
Try the same lab in another region:
Next lesson
In Lesson 5 — GL impact & KPIs, we’ll show the complete GL flow, the reports AION ships for managing P2P, and the real-dollar savings you can expect.