# VAT Posting Setup

`GET` _(Table: VAT Posting Setup)_

```
eOne/core/v1.0/vatPostingSetup
```

"Read-only VAT posting setup. Each row is the intersection of a VAT business posting group and a VAT product posting group, carrying the rate applied and the accounts VAT posts to."

## The matrix

Both group codes are already published on customers, vendors, items and document lines. This is the table that turns a pair of codes into a percentage:

```
GET vatPostingSetup?$filter=vatBusPostingGroup eq 'EU' and vatProdPostingGroup eq 'VAT21'
```

## Blank is a valid group

Business Central treats a blank VAT business or product posting group as a real group with its own setup row, usually the zero-rated one. Filtering it out as missing data removes exactly the rows that explain why something posted no VAT.

## Not the same as vatEntries

This is the *rate card*. [`vatEntries`](https://eonesolutions.github.io/eone-bc-integration/core-vatEntries.md) is what was actually posted. Build a VAT return from the entries and use this to explain them.

## VAT Posting Setup fields

_API column → BC field._

**Legend**

- _(req)_ required on create
- _(res)_ resolver
- _(cur)_ currency-translated
- _(ro)_ read-only
- _(ext)_ added to this endpoint by another extension (BC field name shown; its API column name is not known here)

| API | BC field | Notes |
| --- | --- | --- |
| `id` | SystemId | The Business Central record id. Unique on its own, and the key this feed is written against. _(ro)_ |
| `bcCompanyId` | bcCompanyId | The company this row belongs to - the same GUID that appears in the request URL. Present on every endpoint so a store pooling several companies can keep them apart without relying on which URL it called. _(ro)_ |
| `bcCompanyName` | bcCompanyName | The name of the company this row belongs to. _(ro)_ |
| `vatBusPostingGroup` | VAT Bus. Posting Group | The VAT business posting group - the customer or vendor side of the pair. Blank is a valid group in Business Central. _(ro)_ |
| `vatProdPostingGroup` | VAT Prod. Posting Group | The VAT product posting group - the item or resource side of the pair. Blank is a valid group in Business Central. _(ro)_ |
| `vatCalculationType` | VAT Calculation Type | How VAT is calculated for this pair: normal, reverse charge, full VAT, or sales tax. _(ro)_ |
| `vatPercent` | VAT % | The VAT rate applied to this pair. _(ro)_ |
| `salesVatAccount` | Sales VAT Account | The G/L account output VAT posts to. _(ro)_ |
| `purchaseVatAccount` | Purchase VAT Account | The G/L account input VAT posts to. _(ro)_ |
| `reverseChargeVatAcc` | Reverse Chrg. VAT Acc. | The G/L account reverse charge VAT posts to. _(ro)_ |
| `vatIdentifier` | VAT Identifier | Groups setup rows that share a rate, so a VAT statement can report them together. _(ro)_ |
| `ecSalesList` | EU Service | Whether this pair is reported as an EU service on the EC sales list. _(ro)_ |
| `lastModifiedDateTime` | SystemModifiedAt | The last date and time the record was modified. Use it as the watermark for an incremental pull. _(ro)_ |
