Framework
The AP Controls Stack
The AP Controls Stack is a five-layer framework for accounts payable automation. Each layer - Capture, Coding, Validation, Approval, and Ledger - must operate correctly and in sequence for AP to be accurate, efficient, and audit-ready.
Most AP automation tools address one or two of these layers. The gaps between layers are where errors accumulate, rework compounds, and fraud goes undetected. The AP Controls Stack describes the complete workflow an invoice must pass through before it becomes a record in the accounting system.
Why a stack, not a single tool
The most common failure pattern in accounts payable automation is partial coverage. A business implements an OCR capture tool (Layer 1) and considers AP automated. But the coding decisions still happen manually (Layer 2), validation still relies on a human reviewer remembering to check (Layer 3), approvals still happen via email (Layer 4), and posting to the accounting system is still done by whoever has access (Layer 5).
Partial coverage reduces data entry time. It does not reduce error rates, fraud exposure, or month-end rework - because those problems live in the layers that were not addressed.
The AP Controls Stack is useful precisely because it makes the gap visible. When evaluating any AP automation tool or combination of tools, the question is: which layers does this cover, and what happens in the layers it does not?
The five layers
Layer 01: Capture
Invoice intake from every channel - email, supplier portal, direct upload - into a single processing queue.
What happens
Reads the invoice document. Extracts header data (supplier, date, total, invoice number) and line-item data (description, quantity, unit price, GST) using AI document processing.
Why it matters
Manual data entry at intake is the source of the first error class: transcription mistakes. Automated capture removes this entirely and creates a consistent, searchable record from the moment the invoice arrives.
Without this layer
Invoices arrive in email, get forwarded, sometimes get lost. Some are keyed into accounting software directly. Some wait in someone's inbox. There is no single point of control.
Layer 02: Coding
Assigning the correct account code, cost centre, and entity to each line item on the invoice - automatically, based on supplier history and business rules.
What happens
Applies account codes at line level, not invoice level. Uses the pattern of how this supplier's invoices have been coded in the past to predict the correct code for each line. Handles split coding across multiple accounts on a single invoice.
Why it matters
Coding errors are the most common source of incorrect financial reporting in AP. A freight invoice coded entirely to 'Freight expense' instead of split across COGS, duty, and operating overhead distorts margin reports, landed cost calculations, and GST claims.
Without this layer
A human codes each invoice manually. Split invoices are either coded to a single account or deferred to month end. Coding consistency depends on which person processed the invoice that day.
Layer 03: Validation
Checking each invoice for errors, anomalies, and fraud signals before it reaches the approval queue.
What happens
Runs structured checks: duplicate detection, amount variance against supplier history, ABN verification against the ATO ABR, vendor bank detail changes, missing PO references, GST inconsistencies, and totals that do not reconcile to line items.
Why it matters
Validation is the control layer that prevents errors from entering the ledger. Once an invoice is approved and posted, correcting it requires journal entries, credit notes, and explanations to auditors. Validation before approval costs nothing to fix.
Without this layer
Errors that could have been caught in 10 seconds during processing take 40 minutes to unwind at month end. Duplicate payments are discovered weeks after they occur. Vendor fraud goes undetected until a supplier queries a missed payment.
Layer 04: Approval
Routing validated invoices to the correct approver based on value thresholds, entity, supplier, or cost centre - with a complete audit trail of every decision.
What happens
Applies the business's delegation-of-authority rules automatically. Invoices below the threshold for a given approver proceed without manual intervention. Invoices above threshold are routed to the correct person. Multi-step approval chains are enforced sequentially.
Why it matters
Approval without rules is not control - it is permission. An email-based approval process cannot enforce thresholds, cannot prove who approved what, and cannot prevent invoices from being posted without sign-off. A structured approval workflow enforces policy every time.
Without this layer
Invoices are emailed to managers for approval. Some are approved quickly, some sit unread, some are approved by the wrong person. There is no audit trail showing who approved what, at what time, for what amount.
Layer 05: Ledger
Posting approved invoices to the accounting system - Xero or MYOB - with all coding, GST treatment, and entity allocation applied correctly.
What happens
Syncs the coded, validated, and approved invoice to the correct entity in Xero or MYOB. Account codes, tax codes, tracking categories, and cost centres are applied automatically. The accounting system receives a complete, clean transaction.
Why it matters
The accounting system should record what has already been decided - not be the place where decisions are made. When the ledger is the first point of control, month-end becomes repair work. When the ledger is the last step in a structured process, month-end becomes review.
Without this layer
Invoices are keyed directly into Xero or MYOB, often by whoever has access. Coding decisions happen in the accounting system, where they are difficult to reverse and easy to miss.
Where the stack breaks most often
Capture only (OCR tools)
Tools like Dext and Hubdoc address Layer 1. The invoice is read and pushed into accounting software. Layers 2–4 still require manual work. This reduces data entry time but leaves error rates, coding accuracy, and approval controls unchanged.
Approval only (workflow tools)
Tools like ApprovalMax address Layer 4. Invoices are routed for approval. But the coding may still be wrong (Layer 2 gap), validation may not have run (Layer 3 gap), and the approval itself is based on an unvalidated invoice. Approving an incorrect invoice is not a control.
Capture + approval (two-tool stacks)
The most common configuration: an OCR tool feeds into an approval workflow tool. Layers 1 and 4 are covered. The coding logic (Layer 2) and validation (Layer 3) sit between the tools with no coverage. Errors coded at intake are approved and posted without being caught.
Native accounting software AP
Xero and MYOB provide Layer 5 (ledger posting) and a basic version of Layer 4 (approval). They are not designed for Layers 1, 2, or 3. Businesses relying on native AP handle capture, coding, and validation entirely manually.
How Pulsify maps to the AP Controls Stack
Pulsify is designed to cover all five layers in a single platform, removing the integration gaps that exist when separate tools cover separate layers.
See the full stack in action
Start a 30-day free trial and connect your Xero or MYOB account. All five layers, one platform.