8.1 Specific Posting Groups: Customer, Vendor, Bank & Inventory
Key Takeaways
- Specific posting groups directly link operational subledgers (Customers, Vendors, Bank Accounts, and Inventory Items) to Balance Sheet general ledger control accounts.
- Setting Direct Posting to No on G/L control accounts (Receivables, Payables, Bank, Inventory) enforces internal controls, preventing manual general journal entries from creating unreconcilable variances between subledger balances and the G/L.
- Customer Posting Groups govern the accounting destinations for trade receivables, finance charges, interest charges, reminder additional fees, payment discounts, and document invoice rounding.
- Vendor Posting Groups define the general ledger control accounts for trade payables, service charges, purchase payment discounts received, and invoice rounding adjustments.
- Inventory Posting Groups classify items on the Balance Sheet by asset category (e.g., Raw Materials, Finished Goods) and interact with Location Codes in the Inventory Posting Setup matrix to resolve asset accounts.
8.1 Specific Posting Groups: Customer, Vendor, Bank & Inventory
Quick Summary: In Microsoft Dynamics 365 Business Central, Specific Posting Groups bridge operational subledgers with the Balance Sheet of the General Ledger (G/L). Instead of manually coding G/L accounts onto business documents, master records—Customers, Vendors, Bank Accounts, and Items—are assigned specific posting groups that dictate where transactions land in the financial statements. A vital internal control across all specific posting groups is setting Direct Posting = No on the underlying control accounts (e.g., Accounts Receivable, Accounts Payable, Inventory), ensuring that manual general journals cannot bypass the subledgers and destroy subledger-to-G/L reconciliation parity.
The Subledger-to-General-Ledger Architecture
Business Central operates on a decoupled subledger architecture. While detailed operational records (customer invoices, vendor payments, check clearances, item movements) are recorded in dedicated subledger tables—such as Customer Ledger Entries (Table 21), Vendor Ledger Entries (Table 25), Bank Account Ledger Entries (Table 271), and Value Entries (Table 5802)—the financial reporting layer aggregates these transactions into G/L Entries (Table 17).
Subledger-to-General-Ledger Synchronization Principle:
[ Operational Master Record ]
│
▼
[ Specific Posting Group ]
│
├───────────────────────────────────────────┐
▼ ▼
[ Subledger Table ] [ General Ledger ]
(Detailed Historical Entries) (Summary Balance Sheet Control)
Cust. Ledger Entry / Bank Acc. Ledger Entry G/L Entry (Receivables / Bank Asset)
│ │
└────────── Strict Mathematical Parity ─────┘
Sum(Subledger) == G/L Balance
The Mathematical Parity Mandate
At any point in time, the sum of all open customer ledger entries in local currency must equal the balance of the designated Accounts Receivable control account in the General Ledger. The exact same mathematical identity governs trade payables, bank balances, and inventory assets:
The Direct Posting Control Rule
To safeguard this parity, Business Central enforces the Direct Posting control on G/L Account cards (Alt+Q -> type Chart of Accounts -> open G/L Account Card):
- Direct Posting = No: When set to
No, users cannot select this G/L account directly in General Journals, Purchase Journals, or Sales Journals. The account can only be updated programmatically by the system posting engine when posting through subledger documents (Sales Invoices, Purchase Orders, Cash Receipt Journals, Bank Payment Journals). - Direct Posting = Yes (The Risk): If an accountant mistakenly posts a manual general journal debiting the Accounts Receivable G/L account directly, the G/L balance increases, but zero entries are created in the Customer Ledger. As a consequence, the Accounts Receivable Aging report will permanently disagree with the Trial Balance, creating an audit violation that requires manual reconciling entries to repair.
Customer Posting Groups (Table 92)
Customer Posting Groups control the balance sheet mapping and secondary revenue/expense postings resulting from customer transactions. Every customer master record must have a Customer Posting Group assigned on the Invoicing FastTab of the Customer Card.
UI Navigation Path:
Tell Me (Alt+Q) -> Customer Posting Groups
Account Mapping Configuration & Accounting Functions
| Field Name | Accounting Category | Financial Statement Impact & Operational Trigger |
|---|---|---|
| Receivables Account | Balance Sheet Asset | The primary trade Accounts Receivable control account. Debited when sales invoices are posted; credited when payments or credit memos are applied. |
| Service Charge Acc. | Income Statement (Revenue) | Credit account used when posting finance charges to delinquent customer accounts via Finance Charge Memos. |
| Payment Disc. Debit Acc. | Income Statement (Contra-Revenue) | Debited when a customer settles an invoice within the cash discount period, recording the discount granted as a reduction of revenue. |
| Payment Disc. Credit Acc. | Income Statement (Revenue) | Credited when previously recognized payment discounts granted to customers are reversed or adjusted. |
| Interest Acc. | Income Statement (Revenue) | Credited with interest revenue calculated on overdue balances when issuing Finance Charge Memos. |
| Additional Fee Acc. | Income Statement (Fee Income) | Credited with administrative penalty fees assessed to customers on Reminder documents and Finance Charge Memos. |
| Invoice Rounding Acc. | Income Statement (Expense/Income) | Absorbs penny rounding discrepancies when invoice rounding is enabled in Sales & Receivables Setup. |
| Debit/Credit Curr. Adjmt. Acc. | Income Statement (Gain/Loss) | Realized and unrealized foreign exchange gain/loss accounts when running the Adjust Exchange Rates batch job against foreign currency customer receivables. |
| Payment Tolerance Debit/Credit | Income Statement (Expense/Income) | Absorbs minor under- or over-payments accepted within the allowable payment tolerance limits defined in General Ledger Setup. |
Standard Sales Invoice Posting Flow:
[ Sales Invoice Posted ]
│
├──► Customer Ledger Entry created (Subledger Open Balance)
│
├──► DEBIT : Customer Posting Group -> Receivables Account (Total Gross Amount)
├──► CREDIT: General Posting Setup -> Sales Account (Net Product Amount)
└──► CREDIT: Tax/VAT Posting Setup -> Tax/VAT Payable Account (Tax Amount)
Vendor Posting Groups (Table 93)
Vendor Posting Groups govern the liability mapping and procurement settlement adjustments arising from vendor interactions. Every vendor master record requires an assigned Vendor Posting Group on the Invoicing FastTab of the Vendor Card.
UI Navigation Path:
Tell Me (Alt+Q) -> Vendor Posting Groups
Account Mapping Configuration & Accounting Functions
| Field Name | Accounting Category | Financial Statement Impact & Operational Trigger |
|---|---|---|
| Payables Account | Balance Sheet Liability | The primary trade Accounts Payable control account. Credited when purchase invoices are posted; debited when payments or purchase credit memos are applied. |
| Service Charge Acc. | Income Statement (Expense) | Debited when recording service charges assessed by vendors on late trade balances. |
| Payment Disc. Debit Acc. | Income Statement (Expense) | Debited when previously earned cash discounts from vendors are reversed or adjusted. |
| Payment Disc. Credit Acc. | Income Statement (Contra-Expense) | Credited when the organization settles vendor obligations early to earn cash payment discounts, reducing procurement expense. |
| Invoice Rounding Acc. | Income Statement (Expense/Income) | Absorbs fractional rounding variances between calculated invoice amounts and total vendor payable amounts. |
| Debit/Credit Curr. Adjmt. Acc. | Income Statement (Gain/Loss) | Realized and unrealized exchange rate gain/loss accounts updated during currency revaluation batch jobs for foreign vendor payables. |
| Payment Tolerance Debit/Credit | Income Statement (Expense/Income) | Accommodates minor residual payment differences when settling vendor bills within payment tolerance thresholds. |
Bank Account Posting Groups (Table 277)
Bank Account Posting Groups link individual bank account master records in the Cash Management module to general ledger balance sheet accounts.
UI Navigation Path:
Tell Me (Alt+Q) -> Bank Account Posting Groups
Configuration Parameters
- Code: An alphanumeric identifier (e.g.,
CHECKING,PAYROLL,SAVINGS,OPERATING-USD). - G/L Bank Account No.: The Balance Sheet Asset account (e.g., Account
10100 - Operating Cash) representing the cash balance.
Architectural Best Practice: 1-to-1 vs. N-to-1 Mapping
While Business Central technically allows multiple Bank Account cards to reference the same G/L Bank Account No. (an N-to-1 relationship), consulting best practice strictly dictates a 1-to-1 relationship:
- Each physical bank account card should point to its own unique G/L Account in the Chart of Accounts.
- Sharing a single G/L cash account across multiple bank account records severely complicates the Bank Account Reconciliation process, as deposits, disbursements, and statement line matching cannot be isolated per currency and banking institution.
Inventory Posting Groups (Table 94)
Inventory Posting Groups classify inventory items on the balance sheet according to their physical or business nature (e.g., RAW MAT, WIP, FINISHED, RESALE).
UI Navigation Path:
Tell Me (Alt+Q) -> Inventory Posting Groups
The Matrix Relationship: Item Card vs. Inventory Posting Setup
Unlike Customer, Vendor, and Bank Account posting groups—which directly hold general ledger account numbers on their setup cards—an Inventory Posting Group does not contain G/L account numbers:
- On the Item Card (under the Costs & Posting FastTab), the consultant assigns an Inventory Posting Group.
- The Inventory Posting Group acts as a single coordinate in a 2D matrix.
- The system pairs the Inventory Posting Group with the warehouse Location Code inside the Inventory Posting Setup page (Table 5813) to determine the actual Balance Sheet Inventory Asset and Inventory Interim accounts.
Comparison Table: Specific Posting Groups Architecture
| Specific Posting Group | Master Card Location | Subledger Table Updated | Primary Balance Sheet Account | Typical Income Statement Accounts |
|---|---|---|---|---|
| Customer Posting Group | Customer Card -> Invoicing FastTab | Cust. Ledger Entry (Table 21) | Receivables Account (Asset) | Service Charge, Interest, Additional Fee, Payment Discount, Invoice Rounding |
| Vendor Posting Group | Vendor Card -> Invoicing FastTab | Vendor Ledger Entry (Table 25) | Payables Account (Liability) | Service Charge, Payment Discount, Invoice Rounding |
| Bank Account Posting Group | Bank Account Card -> Posting FastTab | Bank Acc. Ledger Entry (Table 271) | G/L Bank Account No. (Asset) | Currency Realized/Unrealized Gain/Loss |
| Inventory Posting Group | Item Card -> Costs & Posting FastTab | Value Entry (Table 5802) | Inventory Account (Asset via Matrix) | Inventory Account (Interim), WIP Account (via Inventory Posting Setup) |
Step-by-Step UI Procedure: Creating and Assigning a Customer Posting Group
- Open the search bar (
Alt+Q), type Customer Posting Groups, and choose the related link. - Select New on the action bar to insert a new configuration line.
- In the Code field, enter a meaningful identifier (e.g.,
DOMESTIC). - In the Receivables Account field, select the G/L control account (e.g.,
10200 - Accounts Receivable - Trade). - Populate the secondary settlement accounts: Service Charge Acc., Payment Disc. Debit Acc., Payment Disc. Credit Acc., Interest Acc., and Additional Fee Acc.
- Navigate to Chart of Accounts (
Alt+Q), open G/L Account10200, and verify that the Direct Posting toggle is set to No. - Open the Customers list (
Alt+Q), select or open a customer card, expand the Invoicing FastTab, and assignDOMESTICto the Customer Posting Group field.
Common Implementation Pitfalls & Audit Controls
- Pitfall 1: Permitting Direct Posting on G/L Control Accounts: Allowing users to manually post general journal entries to the Receivables or Payables control accounts destroys subledger-to-G/L reconciliation parity. Always confirm
Direct Posting = No. - Pitfall 2: Omitting Payment Discount Accounts: If a customer or vendor has payment terms that grant cash discounts (e.g.,
2% 10 Net 30), but the assigned posting group has blankPayment Disc. Debit/Credit Acc.fields, Business Central will throw a runtime error when applying payments within the discount window. - Pitfall 3: Retroactive Modification on Master Records: Changing the Customer Posting Group on an active customer card with open ledger entries does not retroactively update posted entries. Open entries retain the posting group assigned at the time of invoice posting, which can create split reconciliation paths if not audited.
A financial controller discovers that the Accounts Receivable Aging report total does not equal the ending balance of G/L Account 10200 (Accounts Receivable). Upon reviewing the Chart of Accounts, the consultant finds that G/L Account 10200 has 'Direct Posting' set to Yes. How did this configuration cause the reconciliation variance?
An enterprise issues customer reminders and finance charge memos to assess administrative penalty fees and interest on overdue balances. Which accounts within the Customer Posting Group receive the credit postings for the administrative fees and the overdue interest charges?
A functional consultant is setting up a new Inventory Posting Group for manufactured finished items. Where are the balance sheet Inventory Asset account numbers specified for this inventory group?