How Posting Groups Actually Work in Business Central

Posting groups are the bridge between Business Central's sub-ledgers and the G/L. See what each type does and how to fix the ‘…is not defined’ error.

Share

Ask ten Business Central users what a posting group is and you will get ten shrugs. It is the part of the system almost nobody sets out to learn, yet it quietly decides which G/L account every transaction lands in. This guide explains how posting groups work in Business Central, from "I posted an invoice" to "here is why it hit that account".

How posting groups actually work in Business Central

Get them right and the general ledger fills itself. Get them wrong and you meet Business Central's best-known error message at the worst moment: mid-invoice, with a customer waiting.

Why posting groups exist at all

Why posting groups exist at all - section 1 illustration

Business Central posts most transactions to sub-ledgers first: the customer, vendor, item and bank ledgers. That is where the detail lives: who owes what, which item moved, which invoice is still open.

Your accountant thinks in G/L accounts: Trade Debtors, Sales, Output VAT, Stock. Microsoft's own guide puts it simply: posting groups map entities to general ledger accounts, such as customers, vendors, items and resources.

You tag your master data once, and from then on every transaction knows where to go. Nobody keys an account number on a sales invoice, and that is by design.

Key Point iconKey PointThink of a posting group as answering one question: "When something happens to this thing, which account does it touch?"

The two families of posting group

The two families of posting group - section 2 illustration

There are two mechanisms, and mixing them up is the root of most confusion.

1. Single posting groups: one tag, one lookup. These cover the balance-sheet side:

  • Customer Posting Group: which receivables account this customer's debt sits in.
  • Vendor Posting Group: which payables account.
  • Inventory Posting Group, with location: which stock account item value sits in.
  • Bank Account Posting Group: which G/L account mirrors the bank, the one your bank reconciliation clears against.
  • FA Posting Group: the fixed asset accounts for cost, depreciation and disposal.

2. Combination posting groups: two tags crossed in a matrix. These cover the P&L and VAT side, and they are where people come unstuck:

  • General Posting Setup = Gen. Business Posting Group × Gen. Product Posting Group.
  • VAT Posting Setup = VAT Business Posting Group × VAT Product Posting Group.

The matrix, properly explained

The matrix, properly explained - section 3 illustration

Take General Posting Setup, the one that trips everyone up. Every customer and vendor carries a Gen. Bus. Posting Group, the "who", with values such as DOMESTIC, EU and EXPORT.

Every item, resource and G/L account carries a Gen. Prod. Posting Group, the "what", with values such as GOODS and SERVICES. The setup page is the grid where the two meet.

Each row is one combination, say DOMESTIC × GOODS, and holds the accounts for it: the sales account, the purchase account, plus cost of goods sold, discount and inventory adjustment accounts. Your P&L splits itself by partner type and product type.

Pro Tip iconPro TipVAT Posting Setup works the same way for tax: each row holds the VAT %, the calculation type and the VAT accounts. In the UK the standard rate is 20%, so a DOMESTIC × STANDARD row would carry 20%.

Walking one transaction all the way through

Here is what happens when you post a sales invoice for 10 widgets to a domestic customer:

  1. The Customer Posting Group finds the receivables account, which is debited with the gross total.
  2. The customer's DOMESTIC business group crossed with the item's GOODS product group finds the row in General Posting Setup, and the sales account is credited with the net.
  3. The VAT business and product groups find the row in VAT Posting Setup, and the VAT is credited to the output VAT account.
  4. If it ships from stock, the Inventory Posting Group and location find the stock account, which is credited, with cost of goods sold debited.

Four posting groups, one invoice, and no account numbers typed by a human. That is Business Central working as intended.

The single most common mistake

Because General Posting Setup is a matrix, it only works if the exact combination exists as a row. Miss one, and the moment someone posts that combination, Business Central stops with an error that the posting setup does not exist, naming both values.

Read that message like a map. It names the table and gives you both values of the missing combination. The fix is almost never to change the customer or the item, but to add the missing row, copying the accounts from a similar existing row and adjusting them.

Watch Out iconWatch OutThe usual cause is a new posting group value, such as a new business or product group, added without filling in its rows in the matrix. Re-check the matrix whenever you add a value.

Keep the matrix lean

General Posting Setup rows grow multiplicatively: every new value adds a row for each value on the other axis. A few habits keep it sane:

  • Only create a value if it drives a different account. If two product groups post to the same accounts, they should be one group.
  • Use dimensions for analysis, posting groups for accounts. Sales by department or region is a job for dimensions, not posting groups.
  • Fill the matrix completely at setup, then re-check it whenever you add any value.
  • Keep names boring and consistent, such as DOMESTIC, EU and EXPORT.

The bottom line

Posting groups are the wiring behind the general ledger in Microsoft Dynamics 365 Business Central. Single groups tag one thing to one account; combination groups cross a "who" and a "what" to drive your P&L and tax accounts.

If you are moving to Business Central, posting group design is part of the configuration work in our Xero to Business Central migration guide, and the stages are set out in how a safe migration works. For costs, see our Business Central pricing guide, or talk to our team.

Follow on LinkedIn