A posting definition is a rule that tells xMatix which GL account one part of a document posts to, for example "invoice lines of this item post to Training Fees" or "round-off on bills posts to Rounding Off". Documents such as invoices, bills, credit notes, debit notes, payments, goods receipts and delivery orders post a balanced journal when they post. For each part of that journal (the receivable or payable side, each line, each tax component, the round-off), xMatix looks for a matching posting definition first. If none matches, it uses the company's chart of accounts by account type. You need definitions only where the chart's default account is not the one you want.
Overview
Every document journal is made of legs. An invoice, for example, debits the customer's receivable and credits sales income and the output tax accounts. For each leg, xMatix works out the account in this order:
- An account named on the document itself, where the form has one. Examples are a line's GL Account, a charge row's GL Account, the bank account picked on a payment, and the GL Account on an invoice or bill that is paid at once (GL Posting Type Cash, Bank or Card).
- A posting definition whose Entity Name, Posting Role and Tax Type match the leg. If several match, the most specific one wins (see Business rules).
- The chart of accounts. xMatix takes an account of the required type (Accounts Receivable, Sales, Expense, Tax Credit and so on) from the document's company. It prefers an account for the document's branch, then one with no branch. Tax legs first try an account whose Subtype names the tax component (CGST, SGST, IGST and so on). See GL accounts.
If none of these gives an account, the document does not post. You see a message that starts "No GL account resolved for …" and ends "Configure a PostingDefinition or a chart-of-accounts default." A few legs have no chart fallback, so they always need a definition or an account on the document: round-off, document charges and discounts, and write-offs.
When to use it
Add a posting definition when:
- one item, customer, supplier or branch must post to a different account from the rest (training items to Training Fees, one branch's sales to its own income account);
- the chart has more than one account of a type and you need to choose which one is used;
- you want CGST, SGST and IGST on separate accounts and have not set Subtype on your tax accounts;
- a document carries a round-off, a document-level charge or discount, or a write-off, which have no chart fallback;
- you want sales or purchases booked gross, with line discounts on their own account (the line Discount role);
- you book unclaimable GST, reverse-charge GST or advances on dedicated accounts.
If your chart already has exactly one account of each type per company, most documents post without any definitions.
How xMatix handles it
- Where it lives. Open the Finance Setup app. Posting definitions are under Books & Posting, as Posting Definitions. The list opens on All Posting Definition, with the columns Name, Partner Account, Branch, GL Account, Entity Name, Posting Role, Granularity, Tax Type, Is Active, Created By, Created Date and Modified Date.
- When it is read. Definitions are read each time a document posts or re-posts. A change applies to the next posting straight away. Journals that are already posted keep their accounts until that document is posted again. Each document page explains what re-posts it, for example bills and payments.
- Only active definitions count. A definition is used only when Is Active is ticked. A definition saved with the box left blank is ignored.
- Text, not lists. Entity Name, Posting Role and Tax Type are plain text boxes. Type the values exactly as listed on this page; capitals don't matter, but spaces and spelling do. A typo doesn't cause an error, the definition just never matches.
- Numbering. The Name is replaced on save by a number from the Posting Definition document numbering setting (series PD with a date part). Use the GL Account, Entity Name and Posting Role columns to tell definitions apart.
- Nothing is shipped. The standard product creates no posting definitions. Every definition in the list was added by your organisation or an import.
Prerequisites
- The GL accounts you want to post to exist in the company's chart, and are active. See GL accounts.
- Your security profile can open the Finance Setup app and create Posting Definition records.
- You know which document and which leg you want to redirect. The entity name and posting role table below lists every combination xMatix reads.
Which entity name and posting role to use
Each row is a combination that the posting engine reads. Any other combination is saved but never used.
| Entity Name | Posting Role | The leg it decides |
|---|---|---|
Invoice | Header | The customer side of an invoice: the receivable, or the cash or bank account of an invoice paid at once when no GL Account is picked on it |
InvoiceLine | Line | The income account of each invoice line that has no GL Account of its own |
InvoiceLine | Tax | The output tax account for one tax component; set Tax Type |
InvoiceLine | Discount | Turns on gross booking: the line posts to income at its full value, and its before-tax discount posts here. Sales credit notes use it too |
Invoice | Rounding | The invoice's round-off |
Invoice | Charge / Discount | Document-level charges and after-tax discounts on invoices, when the charge row has no GL Account. Sales credit notes use it too |
Invoice, Bill or OpenTransaction | WriteOff | The account a small balance is written off to; OpenTransaction is the catch-all for every document |
Bill | Header | The supplier side of a bill: the payable, or the cash or bank account of a bill paid at once |
Bill | Header with Tax Type RCM | The liability for reverse-charge GST on a bill. Vendor credits that reverse the bill use it too |
BillLine | Line | The expense or inventory account of each bill line that has no GL Account of its own |
BillLine | Tax | The input tax account for one tax component; set Tax Type. Vendor credits and expense vouchers use it too |
BillLine | IneligibleTax | Where GST on a line marked Blocked or Ineligible goes, instead of input tax |
BillLine | RcmInputTax | The input side of reverse-charge GST |
BillLine | Discount | Gross booking of before-tax discounts on bill lines and vendor credits |
Bill | Rounding | The bill's round-off |
Bill | Charge / Discount | Document charges and after-tax discounts on bills and vendor credits |
CreditNote | Header | The customer or supplier side of every credit note, including vendor credits |
CreditNoteLine | Line | The account each credit note line posts to when it has no GL Account of its own |
CreditNoteLine | Tax | The tax account for one tax component on customer credit notes and sale returns |
CreditNote | Rounding | The round-off on customer credit notes and vendor credits |
CreditNote | Charge / Discount | Charges and discounts on customer credit notes and sale returns. Without one, the Invoice definitions apply |
DebitNote | Header | The supplier or customer side of every debit note |
DebitNoteLine | Line / Tax | Debit note line and tax accounts |
Payment | Header | The money side of a payment or receipt (cash, bank, cheques in hand), when no bank account is picked on it |
Payment | Line | The receivable or payable side of a payment or receipt |
Payment | CustomerAdvance / VendorAdvance | The advance account that unapplied receipts or payments move to, when advances on their own account are switched on |
GoodsReceipt | Header / Line | The inventory side and the goods-received-not-invoiced side of a goods receipt |
DeliveryOrder | Header / Line | The unbilled-dispatch side and the inventory side of a delivery order |
ExpenseVoucherLine | Tax / IneligibleTax | Input tax, or unclaimable GST, on expense voucher lines. Without one, the BillLine definitions apply |
The Posting Role help text also mentions Cogs and Inventory. No posting reads those roles, and the cost of goods sold and stock value journals don't read posting definitions at all.
Procedure
Step 1 — Open the list
- Open the Finance Setup app.
- Under Books & Posting, select Posting Definitions.
The All Posting Definition view lists every definition. Check the list for an existing definition with the same Entity Name and Posting Role before you add another one.
Step 2 — Create a definition
- Select New.
- In the top section, fill in:
- Entity Name: the document or line name from the table above, for example
InvoiceLine. - Posting Role: the role from the table, for example
Line. - Is Active: tick it. A definition with this box clear is never used.
- Leave Name as it is; it is numbered on save.
- Entity Name: the document or line name from the table above, for example
- On the Account Details tab:
- Partner Account (required): the company the definition applies to. Only active companies are offered.
- GL Account: the account to post to. The list is not filtered by company, so pick an account that belongs to the company you chose.
- Branch, Account (a customer) or Supplier Account: fill these only to narrow the definition. The Branch list offers the chosen company's branches.
- On the Item Details tab, pick an Item only to narrow a line, tax or charge definition to one item.
- On the Other Details tab:
- Tax Type: for the
Taxrole, the tax component exactly as it appears on the document lines, for exampleCGST. For a reverse-charge bill liability,RCM. Otherwise leave it blank. - Priority: a whole number, only needed when two definitions are equally specific. The lower number wins.
- Tax Type: for the
- Select Save.
The definition opens on its record page. The header shows the Partner Account and Branch. The Key Information section shows the Account, Supplier Account, Account Group, Item Group and Item, and Posting Criteria shows the GL Account, Entity Name, Posting Role, Tax Type and Is Active. The next document that posts uses it.
Step 3 — Check it with a test document
- Create and post a document that should use the definition, for example an invoice for the item you scoped.
- Open the journal the document posted (see Working with journals) and check the account on the leg.
If the leg still lands on the old account, see Common problems.
Step 4 — Change or retire a definition
- Open the definition and select Edit. The edit form is the same as the New form.
- Change the fields and select Save. To stop using the definition but keep it, clear Is Active.
- To remove it, select Delete on the record page or in the list.
Changing or deleting a definition doesn't change journals that are already posted. Documents posted later, and documents that are re-posted, use the new setup. If you delete or deactivate the only definition for a leg that has no chart fallback (round-off, charges, write-offs), those documents stop posting until you add another.
Fields
The New and Edit form, in form order. Name, Entity Name, Posting Role and Is Active are at the top; the rest are on the Account Details, Item Details and Other Details tabs.
| Field | What it means | Notes |
|---|---|---|
| Name | The definition's number | Replaced on save with a PD number |
| Entity Name | The document or line the definition applies to | Required. Plain text such as Invoice, InvoiceLine, Payment. Must be one of the names in the table above |
| Posting Role | Which leg of that document it decides | Plain text such as Header, Line, Tax, Rounding. Blank counts as Header |
| Is Active | Whether the definition is used | Must be ticked. Blank counts as inactive |
| Partner Account | The company the definition applies to | Required on the form. A definition for another company is never used |
| Branch | Narrows the definition to one branch | Optional. Offers the chosen company's branches. A different branch on the document rules the definition out |
| Account | Narrows the definition to one customer | Optional. Offers active customer accounts. Matched against the document's party |
| Supplier Account | Narrows the definition to one supplier | Optional. Offers active supplier accounts. Matched against the document's party, like Account |
| Account Group | A party group | Not read by posting. A definition scoped only by Account Group behaves as if it had no party scope |
| GL Account | The account the leg posts to | Required. Not filtered by company: check it belongs to the Partner Account's company |
| Item | Narrows the definition to one item | Optional. Only line, tax, line-discount and charge legs carry an item. A definition with an Item never matches a Header, Rounding, Write-off or advance leg |
| Item Group | An item group | Not read by posting. A definition scoped only by Item Group behaves as if it had no item scope |
| Granularity | Intended to choose summarised or detailed journal lines | Not read by posting. Document journals always group legs by account |
| Tax Type | The tax component | For Tax: must equal the line's tax type, and blank never matches. For IneligibleTax and RcmInputTax: blank covers every component. For Header on a bill: RCM |
| Priority | Tie-breaker | Lower wins among equally specific definitions; blank sorts last. It can't make a broad definition beat a narrower one |
Business rules
- Matching. A definition is a candidate for a leg when it is active, has a GL Account, and its Entity Name, Posting Role and Tax Type match the leg.
- Specificity. Each candidate is scored on its scope fields. A company match counts most, then branch, then item, then customer or supplier. A scope field that names a different company, branch, item or party rules the definition out completely. A blank scope field matches anything but adds nothing.
- Ties. Between candidates with the same score, the lowest Priority wins, and a blank Priority sorts last. Between equal Priorities, which one wins is not defined, so avoid exact duplicates.
- What the definition overrides. A definition beats the chart default, but never an account named on the document: a line's GL Account, a charge row's GL Account, a payment's bank account, or the GL Account on an invoice or bill paid at once.
- Bill lines from a goods receipt. Without a definition, a bill line that came from a goods receipt clears the goods-received-not-invoiced account. A
BillLine/Linedefinition applies to these lines as well. A broad one therefore sends them to its own account and leaves the receipt's accrual uncleared, so scope it by item or leave receipt-based lines to the default. - Shared entity names. Customer credit notes, sale returns and vendor credits all use
CreditNoteandCreditNoteLine. Customer and supplier debit notes both useDebitNoteandDebitNoteLine. OneCreditNote/Headerdefinition with no party scope therefore sends both the receivable side of customer credit notes and the payable side of vendor credits to the same account. Narrow it with Account or Supplier Account, or rely on the chart defaults. - Payments. Receipts, supplier payments and refunds all use
Payment. APayment/Headerdefinition without scope sends the money side of every mode (cash, cheque, bank) to one account. - Fallbacks between documents. Sales credit notes look for
InvoiceandInvoiceLinedefinitions when they have no charge, discount or line-discount definition of their own. Vendor credits use theBillandBillLinetax, charge, discount, unclaimable-GST and reverse-charge definitions, so a reversal lands where the bill posted. Expense vouchers use theBillLinetax definitions when they have noExpenseVoucherLineone. - Gross booking is opt-in. Without a line
Discountdefinition, a line posts its net amount and its discount is never seen in the ledger. With one, the line posts its full value and the discount posts on the opposite side. The document total, the tax and the receivable or payable are the same either way. - Unclaimable GST. With no
IneligibleTaxdefinition, GST on a Blocked or Ineligible line is added to that line's own expense or inventory account. - Write-off and advance accounts. xMatix refuses a write-off account that is a control account, and an advance account that is a control account or belongs to another company.
- Inactive accounts. A definition can point at an inactive GL account; the post then fails with "GL Account '…' is inactive. Please update the Posting Definition or journal line before posting."
Example
A distributor, Lakeview Foods, runs one company with two branches, North and South. Its chart has one Sales account, Sales – General. The finance lead wants three changes:
- Training income. Invoices for the item Cold Chain Training should credit Training Fees, not Sales – General. They add a definition: Entity Name
InvoiceLine, Posting RoleLine, Is Active ticked, Partner Account Lakeview Foods, GL Account Training Fees, Item Cold Chain Training. - Separate GST accounts. The chart has one Output Tax account. They create Output CGST, Output SGST and Output IGST accounts, then three definitions with Entity Name
InvoiceLine, Posting RoleTaxand Tax TypeCGST,SGSTandIGST, each pointing at its account. - Round-off. Invoices with a round-off were refused with "Configure a Invoice Rounding posting definition before posting round-off." They add Entity Name
Invoice, Posting RoleRounding, GL Account Rounding Off.
They then post invoice INV-0412 for 10 units of a food item and 1 unit of Cold Chain Training, with CGST and SGST and a round-off of 0.40. The journal debits the receivable for the total and credits Sales – General for the food line and Training Fees for the training line. It credits Output CGST and Output SGST, and credits Rounding Off with 0.40. Invoices posted before the change keep their old accounts.
Training
Practice exercise
In a sandbox company:
- Create a GL account Practice Income of type Sales.
- Add a posting definition: Entity Name
InvoiceLine, Posting RoleLine, Is Active ticked, your company as Partner Account, GL Account Practice Income, Item = any item you can invoice. - Post an invoice with one line for that item and one line for a different item.
- Open the invoice's journal.
- Clear Is Active on the definition, then post a second invoice for the same item.
Expected result: in step 4, the line for your item credits Practice Income and the other line credits the company's usual Sales account. In step 5, both lines credit the usual Sales account, because an inactive definition is ignored.
Quick reference
- Account order: account on the document, then posting definition, then chart default by type.
- Tick Is Active; blank means inactive.
- Entity Name and Posting Role are typed text: copy them from the table.
- Line, tax and line-discount definitions use the line name (
InvoiceLine,BillLine); header, rounding and charge definitions use the document name. Taxdefinitions need the exact Tax Type; blank never matches.- Most specific wins: company, then branch, then item, then party. Priority only breaks ties.
- Item Group, Account Group and Granularity are not read.
- Round-off, charges and write-offs have no chart fallback: they need a definition.
- Posted journals don't change when you edit a definition.
Permissions
| Task | What you need |
|---|---|
| See the list and open definitions | Read on Posting Definition, and access to the Finance Setup app |
| Add, change or delete definitions | Create, Edit or Delete on Posting Definition. The shipped System Admin, Standard User, Sales Manager and Sales Executive profiles have full access to the entity |
| Post documents that use them | The posting permission of each document type; posting definitions add no permission of their own |
Because definitions change where money is booked, consider limiting edit access to your finance administrators by changing the security profiles. See Security profiles.
The record page shows Edit and Delete. The entity also has a Clone action, which the standard record page doesn't show. A clone copies every field including Is Active, so it is live at once and competes with the original.
Configuration
| What to configure | Where | What it affects |
|---|---|---|
| Posting definitions | Finance Setup app → Books & Posting → Posting Definitions | Which account each matching leg posts to |
| The chart default for each account type | GL accounts (see GL accounts) | The account used when no definition matches |
| Tax component accounts without definitions | The Subtype on tax GL accounts | Splits tax legs by component when there is no Tax definition |
| Advances on their own account | Finance module settings (see Recording and applying payments) | Whether the CustomerAdvance and VendorAdvance definitions are used at all |
| Document numbering of definitions | Posting Definition Name Setting and Posting Definition Settings (see Document numbering) | The PD number in Name. Both settings ship active and write the same field, so keep only one active if the number format matters to you |
| List columns and forms | The All Posting Definition view and the Posting Definition layouts, in the setup screens for views and layouts | What the list and form show. The record page's sections don't show Granularity or Priority; add them if your team needs them |
Common problems
"No GL account resolved for line '…' (Sales). Configure a PostingDefinition or a chart-of-accounts default."
The line has no GL Account, no InvoiceLine / Line definition matched it, and the company has no account of the type in brackets. Add an account of that type to the chart, or add a line definition for the company. The same message with "for tax '…'", "for document header (…)" or "for counterpart (…)" points at the tax, header or counterpart leg; use the matching role from the table.
"Configure a Invoice Rounding posting definition before posting round-off."
The document has a round-off and nothing tells xMatix where to post it. Add a definition with Entity Name Invoice (or Bill, CreditNote, whichever the message names) and Posting Role Rounding.
"No GL account resolved for document charge '…'."
A charge or discount row has no GL Account and there is no matching Charge or Discount definition. Set the GL Account on the row, or add the definition the message names.
"No write-off account is configured …"
Add a definition with Entity Name Invoice, Bill or OpenTransaction and Posting Role WriteOff, pointing at an expense account (receivables) or an income account (payables). If the message says the account "is a control account", point the definition at a non-control account.
"GL Account '…' is inactive. Please update the Posting Definition or journal line before posting."
The definition, or the line, points at an inactive account. Change the definition's GL Account, or reactivate the account.
I added a definition but the document still posts to the old account
Check, in this order:
- Is Active is ticked.
- Entity Name and Posting Role are spelled exactly as in the table, without spaces (
InvoiceLine, notInvoice Line). Line legs need the line name, not the document name. - For a tax leg, Tax Type equals the line's tax type.
- Partner Account, Branch, Item and the party fields don't name something different from the document.
- The document doesn't name its own account: a line GL Account or a picked bank account always wins.
- The document was actually posted after your change. An already posted document keeps its journal until it is re-posted.
- Another, more specific definition doesn't win. Sort the list by Entity Name and Posting Role to find it.
Customer credit notes and vendor credits both post to the same account
A CreditNote / Header definition without a party applies to both. Narrow it with Account or Supplier Account, or delete it so each side uses the chart's receivable or payable account.
Common questions
Do I need posting definitions at all?
Not always. If each company's chart has one account of each type that documents need (receivable, payable, sales, expense, inventory, tax, cash and bank), documents post to those accounts without any definition. You need definitions for round-off, document charges and write-offs, which have no chart fallback. You also need them wherever one item, party or branch must post somewhere other than the default, or the chart has several accounts of a type and you must choose one.
Why does my definition with an Item Group have no effect?
Posting doesn't read Item Group, Account Group or Granularity. A definition scoped only by Item Group counts as having no item scope, so it applies to every item and can win over definitions you expected to be narrower. To target several items, add one definition per item, or set the GL Account on the item's document lines.
Will changing a definition fix journals that are already posted?
No. Posted journals are never edited. A document picks up the new account only when it is posted again. For example, a saved financial change to a posted bill re-posts it, and payments and credit notes have a Repost GL Posting action, which is not on their standard pages until an administrator adds it. Each re-post reverses the old journal and posts a new one. For a few documents, a manual adjusting journal can be simpler.
What should I type in Tax Type?
For a Tax definition, type the tax component exactly as it appears in the tax type of the document lines, such as CGST, SGST, IGST or Cess. Capitals don't matter. A blank Tax Type never matches a tax leg, so you need one definition per component. Alternatively, leave tax definitions out and set Subtype on your tax GL accounts. For unclaimable GST and reverse-charge input definitions, a blank Tax Type covers every component.
