Quick answer: ERP finance modules connect through accounting rules that translate business transactions into general ledger entries. Purchasing and inventory record receipts; accounts payable records supplier invoices and payments; accounts receivable records customer invoices and receipts; cash management tracks bank activity; and fixed assets maintains asset-level accounting. A saved order, a posted invoice and a settled payment are different stages—not interchangeable proof that the ledger is complete. Representative Microsoft and Oracle documentation shows these connections and their configuration-dependent behavior. (learn.microsoft.com)
This guide follows an illustrative inventory purchase and sale. It explains the accounting connections rather than providing production configuration instructions. Microsoft Dynamics 365 Finance and Oracle NetSuite supply representative examples; their posting stages should not be assumed identical.
1. Understand the module map before following the money
A useful way to understand an ERP is to separate the business event from its accounting effect:
PURCHASE-TO-PAY
Purchase order → Goods receipt → Supplier invoice → Supplier payment
│ │ │
Inventory Accounts payable Bank activity
└─────────────────┴──────────────────┘
↓
GENERAL LEDGER
ORDER-TO-CASH
Sales order → Shipment → Customer invoice → Customer receipt
│ │ │
Inventory Accounts receivable Bank activity
└───────────────┴──────────────────┘
↓
GENERAL LEDGER
FIXED-ASSET BRANCH
Equipment purchase → Asset acquisition → Depreciation / disposal
└─────────────────┘
↓
GENERAL LEDGER
This is a conceptual map of documented purchasing, sales, banking and asset flows—not a promise that every arrow creates an immediate ledger entry. (docs.oracle.com)
Use these terms when tracing a transaction:
- Source document: The business record being processed, such as an order, receipt or invoice.
- Subledger: Detailed accounting records supporting an area such as customers, suppliers or fixed assets.
- General ledger, or GL: The account-level record where financial postings come together.
- Posting profile: In Dynamics 365, configuration that helps determine which main accounts receive particular transaction types.
- Clearing or accrual account: An intermediate account used between stages—for example, goods received before the supplier invoice arrives.
- Settlement: Applying a payment or credit to an outstanding invoice. Payment posting and settlement can be separate actions. (learn.microsoft.com)
The practical distinction is detail versus account balance: supplier records explain individual amounts owed, while the related ledger accounts show their accounting effect.

2. Separate operational status from accounting status
Do not ask only, “Is the transaction posted?” Ask, “What was posted, where, and for which date?”
NetSuite explicitly identifies purchase orders and sales orders as non-posting transactions. They record intended purchases or sales without themselves changing ledger balances. Dynamics 365 also supports purchase-order encumbrance accounting through posting definitions, so “an order never affects accounting” is not a universal rule. (docs.oracle.com)
For each transaction, check four layers:
| Layer | Question to ask | Evidence to retain |
|---|---|---|
| Business document | Was it saved, approved, received or invoiced? | Document number and status |
| Operational record | Did quantity or fulfillment status change? | Inventory transaction or receipt |
| Accounting record | Were debits and credits generated? | Accounting entry or voucher |
| Ledger completion | Did those entries reach the GL? | GL transaction and transfer status |
These checks matter because Dynamics 365 supports asynchronous and scheduled-batch transfers from subledger accounting to the GL. An entry may be waiting for transfer rather than missing altogether. (learn.microsoft.com)
Recommended working method: record the source-document number, accounting date, voucher reference and ledger result together. This makes it easier to distinguish an incomplete workflow from a background-processing delay.
3. Follow an inventory purchase into accounts payable
For the worked example, assume:
- One legal entity, with all amounts in US dollars.
- Accrual accounting and perpetual inventory.
- An inventory purchase of 100 units at $20 each: $2,000.
- Receipt and supplier invoicing occur separately.
- No tax, freight, discounts, foreign exchange, returns or price differences.
- No opening inventory, and sufficient opening bank funds.
These are invented teaching inputs, not company results. The purchase entries below follow the basic receipt–bill–payment pattern documented by Oracle. (docs.oracle.com)
| Stage | Debit | Credit | Meaning |
|---|---|---|---|
| Create purchase order | — | — | Order recorded; no GL entry in this example |
| Receive 100 units | Inventory $2,000 | Received-not-invoiced accrual $2,000 | Inventory received before billing |
| Post supplier invoice | Received-not-invoiced accrual $2,000 | Accounts payable $2,000 | Supplier invoice replaces the receipt accrual |
| Pay supplier | Accounts payable $2,000 | Bank $2,000 | Supplier liability paid |
“Received-not-invoiced accrual” is a descriptive label here. NetSuite’s documentation calls the account Accrued Purchases and shows the same debit-and-credit direction. (docs.oracle.com)
After receipt but before billing, inventory is $2,000 and the receipt accrual is $2,000. Once the matching invoice is posted, that accrual clears and accounts payable carries the liability. The purchase can therefore affect accounting before it appears on an open-bills report. (docs.oracle.com)
Check before moving on: compare the order, receipt and invoice quantities and prices. In this example, all three agree. Investigate differences rather than assuming the accrual should always clear automatically; NetSuite documents vendor-bill variance processing for quantity, price and exchange-rate discrepancies. (docs.oracle.com)
4. Follow the sale through inventory and accounts receivable
Now assume the business ships 60 units at $35 each:
- Customer invoice: 60 × $35 = $2,100.
- Inventory cost: 60 × $20 = $1,200.
- Remaining inventory: 40 × $20 = $800.
For this illustration, assume the conditions for recognizing the sale are met when the goods ship and the customer is invoiced. This is an explicit example assumption, not a universal revenue-recognition rule.
The entries use Oracle’s documented pattern: fulfillment records inventory cost, and the invoice records receivables and sales income. (docs.oracle.com)
| Stage | Debit | Credit |
|---|---|---|
| Create sales order | — | — |
| Ship 60 units | Cost of goods sold $1,200 | Inventory $1,200 |
| Post customer invoice | Accounts receivable $2,100 | Sales revenue $2,100 |
| Receive and apply customer payment | Undeposited funds $2,100 | Accounts receivable $2,100 |
| Deposit those funds | Bank $2,100 | Undeposited funds $2,100 |
The payment and deposit rows follow Oracle’s documented undeposited-funds workflow. NetSuite also permits customer transactions to post directly to a selected bank account, so a separate deposit entry is not required in every setup. (docs.oracle.com)
After all example transactions are complete:
- Accounts payable and receivable are zero.
- The receipt accrual and undeposited funds are zero.
- Inventory is $800.
- Revenue less cost of goods sold is $900, before other expenses.
- Bank movement is +$100: $2,100 collected less $2,000 paid.
The arithmetic cross-check is $800 remaining inventory plus $100 net cash movement, equaling the $900 gross profit. Profit and cash movement differ because part of the purchase remains in inventory.
5. Expect product-specific differences in posting stages
The worked example is not a universal ERP posting template.
Dynamics 365 purchasing: product-receipt ledger posting depends on settings, including physical-inventory posting and receipt-accrual options. Its posting profiles distinguish receipt-stage and invoice-stage accounts. Actual vouchers can therefore contain more lines than the simplified purchase table. (learn.microsoft.com)
Dynamics 365 sales: a packing slip can generate physical cost postings that reverse when the invoice posts; invoicing then records financial inventory and cost-of-goods-sold entries. Packing-slip posting generally depends on configuration, with a documented standard-cost exception. (learn.microsoft.com)
NetSuite: Advanced Receiving separates receipt from billing. Oracle’s basic sales example posts inventory cost at fulfillment and receivables and revenue at invoicing. (docs.oracle.com)
Before approving a design, ask the implementation team to demonstrate:
- A receipt without a supplier invoice.
- A shipment without a customer invoice.
- A partial receipt or shipment.
- The later invoice and any reversing entries.
- The resulting subledger and GL balances.
Use a test environment and retain the actual vouchers. Account names alone do not prove that the intended posting sequence works.
6. Connect payments to cash management without confusing the checks
Payment accounting, invoice settlement and bank reconciliation answer different questions:
- Payment accounting: What cash-related entry was recorded?
- Settlement: Which invoice did the payment satisfy?
- Bank reconciliation: Does the ERP’s bank activity agree with the bank statement?
Dynamics 365’s cash-application documentation explicitly allows a customer or vendor payment journal to be posted without settling open invoices, followed by a separate settlement action. A recorded payment is therefore not proof that the intended invoice is closed. (learn.microsoft.com)
Bank reconciliation then compares ERP bank transactions with statement transactions. Microsoft instructs users not to mark transactions as cleared when they do not appear on the statement, and to record missing items such as fees or interest. (learn.microsoft.com)
For the example, verify both outcomes: the customer invoice has no remaining amount, and the $2,100 deposit matches the bank statement. Do not create another receipt merely because an already-recorded deposit appears on an imported statement.
7. Recognize when purchasing should connect to fixed assets
The sample goods are inventory held for sale. Equipment acquired for business use may instead belong in the fixed-assets workflow, subject to the organization’s accounting policy.
In Dynamics 365, fixed assets can integrate with payables, receivables, inventory and the GL. Asset records hold acquisition, depreciation and valuation information, while posting profiles determine the associated ledger accounts. Whether supplier-invoice posting also posts the asset acquisition depends on configuration. (learn.microsoft.com)
Before processing an equipment invoice, confirm:
- Whether the purchase should be capitalized under the applicable policy.
- Which asset record and accounting book apply.
- Whether invoice posting creates the acquisition accounting or a separate asset step is required.
- Which accounts should receive acquisition and depreciation postings.
Do not treat “asset record created” and “asset acquisition posted” as equivalent checkpoints. Test and document both.
8. Use a reconciliation checklist to catch common mistakes
Use this checklist when testing a new workflow or investigating a period-end difference:
| Common mistake | Practical check |
|---|---|
| Treating a saved order as a ledger posting | Inspect its actual accounting impact |
| Assuming a warehouse update proves financial completion | Check physical and financial transaction status |
| Treating a paid balance as a settled invoice | Inspect invoice application and remaining amount |
| Clearing bank items that have not appeared on the statement | Match against statement evidence |
| Posting an adjustment before checking transfer delays | Inspect subledger-transfer status first |
| Accepting balanced debits and credits as proof of accuracy | Also verify account, amount, date and source document |
These checks reflect documented differences between order status, inventory status, settlement, bank clearing and GL transfer. (docs.oracle.com)
For each reconciliation, use the same legal entity, cutoff date and currency basis. Compare supplier and customer detail with the relevant GL accounts; explain receipt accruals; reconcile bank activity; and tie asset detail to asset-related ledger balances.
When a difference remains, classify it before correcting it: in the subledger but not the ledger, in the ledger but not the subledger, or an amount mismatch. These are also documented exception categories in Dynamics 365’s account-reconciliation functionality. (learn.microsoft.com)
The goal is not merely a balanced journal. It is a traceable chain from business document to operational update, accounting entry, ledger balance and—where relevant—settled invoice and reconciled bank transaction.