One tax component inside a TaxGroup: a rate plus the line slot it posts into. TaxService applies every component of the line's resolved group — the taxable base is quantity (less cancelled quantity) times the first non-zero of UnitPrice2, UnitPrice, UnitCost2 and UnitCost, reduced by the scheme, first, second and contract discounts — and each component's amount is that base times its rate, with the total written to the line's TaxAmount. PostingFieldName decides which of the six Tax1..Tax6 slots receives the amount, rate, name and type. Tax is always computed on top of the line value: the platform has no inclusive-tax handling anywhere, so a rate can never be back-solved out of a gross price. When the document's partner is flagged for post-tax discounting, the discounts are left in the base and applied after tax instead.
Fields
| Field | Label | Type | Required | What it does |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
ExternalId | External | Text | | |
Id | Id | Guid | Yes | |
LastModifiedById | LastModifiedBy | Guid | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PostingFieldName | Posting Field Name | PickList | | Names which of the line's six tax slots takes this component; the value is normalised (spaces stripped, first letter capitalised, the rest lower-cased) before the amount, rate, name and type are written into that slot and its companion columns. Leaving it blank does not skip the component — its amount still counts toward the line's TaxAmount, it simply never appears in a visible slot. Values: Tax1, Tax2, Tax3, Tax4, Tax5, Tax6. |
Rate | Rate | Percent | | A percent-typed fraction — eighteen percent is stored as 0.18 while the API presents it as 18 — multiplied directly by the line's taxable base to give this component's amount. |
RecordTypeId | Record Type | Guid, hidden | | |
TaxGroupId | Tax Group | Lookup → TaxGroup | | Required: a tax exists only inside a group. Every component of the group resolved for a line is applied, and their amounts are summed into the line's TaxAmount. |
TaxName | TaxName | Text | | A descriptive name the calculation never uses — the line's slot name column is filled from the record's Name field instead, so editing this does not change what appears on a document line. |
Type | Tax Type | PickList | | A classification copied to the line's slot type alongside the amount, seeded with CGST, SGST, IGST, TCS and TDS. Nothing in the calculation branches on it: a component typed as a withholding is still computed and added exactly like any other. Values: SGST, TCS, TDS, CGST, IGST. |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
Actions
| Action | Label | Type | What it does |
BulkDelete | Delete | Delete | Delete the selected records. |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Delete | Delete | Delete | Delete |
DeleteInList | Delete | Delete | Delete in a list page |
Edit | Edit | Edit | Edit |
EditInLine | Edit | EditInline | Edit In Page |
EditListHeader | Edit | EditInline | EditListHeader |
EditListRow | Edit | Edit | EditListRow |
New | New | New | New |
NewQAP | New | NewInline | New |
Validations
| Validation | Applies to | Error message | Notes |
| Posting Field Validation | Error | Posting Field Name must be 'Tax1' when Tax Group Type is 'Document Level'. | Requires Posting Field Name to be 'Tax1' when Tax Group Type is 'Document Level' |