Download OpenAPI specification:
Requres an Account ID and API Key pair for the POST /v1/auth endpoint which will return a short-lived JWT Bearer token in the response.
Use the Bearer token in the Authorization header of subsequent requests.
Please contact us if you would like a demo and access.
Send it as either body JSON, or as an Excel xlsx as multipart form-data, which has been mapped to our data model.
This endpoint returns with an operation token to use with the GET /operations/{id} endpoint to poll for the Audit completion.
In v1.3.0 we added the POST /datamanager/vat/uploads endpoint which should now be used for sending data to VAT Filer, previously this resource supported that use-case, but that is now deprecated.
In v1.3.1 we added validation to the json payload that dates are in the format 'YYYY-MM-DD'.
The request can be sent as an application/json in the request body, or a multipart/form-data.
An array of data [ vatDataModelSchema ] transactions, plus an options object which specifies how the system handles the Audit. When sending Tax Agile data model format JSON, the mappingId should be set to 'default'.
The form two fields 'file' and 'options'.
The 'options' field takes a json {} with the Audit options.
The 'file' field takes a file object which can be either an Excel xlsx file, or an Avalara iVAT Reporting XML file.
If sending the Avalara XML format you must set the Content-Type of the 'file' field to application/vnd.avalara.ivat.reporting+xml and the mappingId set to vnd.avalara.ivat.reporting+xml.
Check out the example in the Postman Sample Collection as the multipart/form-data request has it's own Content-Type, as does the 'options' field.
Array of objects (VAT Data Model) | |
object (VAT Upload - Options) |
{ }{- "_id": "ceb50cb0-0135-4fdf-bcd3-dbfc9d4d9adc",
- "href": "/v1/operations/ceb50cb0-0135-4fdf-bcd3-dbfc9d4d9adc"
}If there a no items in the list this will return an empty array, on a 200 OK.
[- {
- "_id": "FQWaTQN3TXdTD8MGYaXJ",
- "entryDateTime": "2023-03-30T15:13:18.347Z",
- "dataSourceName": "2023-03-30T15:13:17.094Z.json",
- "mappingName": "Tax Agile default json schema",
- "dataSource": "api",
- "status": "Complete"
}
]The {id} for the path parameter is provided by the GET /operations/{id} response as the href field in the body and also the location header.
It is also avaialable from the summary list of audits GET /auditor/vat/audits endpoint.
The response body is a summary of the audit including metrics, data summary, datasource information, and includes results href.
| id required | string Example: 9A8FL3X3hr6I0QSLNFAA Id of the audit |
{- "_id": "i1yKcOrT2Rv9neYsKwvG",
- "entryDateTime": "2023-05-18T09:45:57.204Z",
- "summary": {
- "auditMetrics": {
- "totalQualityOk": 20,
- "totalAccurate": 13,
- "totalExposure": 4770
}, - "dataSummary": [
- {
- "message": "A blank value is not a correct value for \"buyer.VatIdCountry\". Check the mapping.",
- "count": 1
}
], - "errors": [
- {
- "id": "checkVatAmountDifference",
- "name": "VAT amount",
- "count": 6
}
], - "totalDocuments": 25
}, - "dataDetails": {
- "createdBy": "api",
- "dataSourceName": "2023-05-18T09:45:55.923Z.json"
}, - "options": {
- "doTaxCodeMapping": "false"
}, - "results": {
- "href": "/v0/auditor/vat/audits/i1yKcOrT2Rv9neYsKwvG/results"
}
}| id required | string Example: 9A8FL3X3hr6I0QSLNFAA Id of the specific audit |
{- "errorCode": "VA008",
- "message": "Audit Id is a mandatory path parameter"
}The {id} for the path parameter is provided by the GET /operations/{id} response as the href field in the body and also the location header.
It is also avaialable from the summary list of audits GET /auditor/vat/audits endpoint.
The response body is an array of transactions, showing data errors, audit check issues and successful transactions.
To get a JSON summary of each error in the audit, use the format=errorList query parameter only (don't combine with pageSize and startAfter). It returns the first 10,000 errors.
| id required | string Example: 9A8FL3X3hr6I0QSLNFAA Id of the audit |
| pageSize | integer Example: pageSize=100 State the number of transactions to return in the response. Maximum value 1000. If not provided defaults to 20. |
| startAfter | string Example: startAfter=b5e9282e-8a40-4462-81c3-2ab28b904f57 When moving through the results dataset provide the id of the last transaction in the previous page, and the response will 'startAfter' that transaction. Leave blank to receive the first page of data. |
| format | string Example: format=errorList Use |
{- "transactions": [
- {
- "_id": "1a1da4fa-270c-4aae-bf4d-5b7af11b693d",
- "docNumber": "BE 102202",
- "docDate": "2023-02-05",
- "auditResult": {
- "errors": [
- {
- "id": "checkVatAmountDifference",
- "message": "VAT amount in data (630.00) does not match the value Auditor calculated (0.00)",
- "exposure": 400,
- "type": "engineCheck"
}
], - "done": true,
- "parties": {
- "company": "seller",
- "companyName": "VAT Calc Demo Co BVBA",
- "counterparty": "buyer",
- "counterpartyName": "BE Company Customer Ltd"
}, - "hasErrors": true,
- "exposure": 630
}, - "analysisResult": {
- "transaction1": "Supply of goods - BE - Intra-Community supply - N/A - 0 - 0 - 0",
- "transaction2": "N/A - N/A - No exemption - N/A",
- "rateT1": 0,
- "reversedOutputVat": 0,
- "reversedOutputVatRate": 0,
- "deductibleInputVat": 0,
- "invoiceMentioning": "Article 138(1) Directive 2006/112 EC",
- "invoiceMentioningEu": "Article 138(1) Council Directive 2006/112 EC",
- "taxableTransactionT1": "Supply of goods",
- "transType": "Intra-Community supply",
- "posT1": "BE",
- "exemptionDescriptionT1": "Intra-Community supply",
- "obligationToPayT1": "N/A",
- "taxPoint": "2025-05-09T00:00:00.000Z",
- "deductibleRate": 0,
- "sellerVatNo": "BE",
- "buyerVatNo": "DE",
- "baseAmount": 100,
- "vatAmount": 0,
- "importVatAmount": 0,
- "vatCode": "BESICSG000",
- "taxCode": [
- "A3",
- "IC0",
- "B0"
], - "peppolVatexCode": "VATEX-EU-79-C",
- "peppolTaxCategoryId": "K",
- "calculatedRate": 0,
- "uuid": "fea0f7da-074e-47e9-8bde-51b8b5f778da",
- "vatBoxes": [
- {
- "country": "BE",
- "box": "01",
- "value": 0
}
], - "provisions": [
- {
- "category": "Taxable_persons",
- "text": "Article_9_1"
}
]
}
}
], - "count": {
- "totalInAudit": 30,
- "showing": 20
}, - "next": {
- "pageSize": 20,
- "href": "/v1/auditor/vat/audits/vJDk97ZoLnUuc1aoJXSM/results?startAfter=b5e9282e-8a40-4462-81c3-2ab28b904f57&pageSize=20"
}, - "first": {
- "href": "/v1/auditor/vat/audits/vJDk97ZoLnUuc1aoJXSM/results?pageSize=20"
}
}Send a transaction to the determination engine for VAT. The request body supports a large number of conditions which may be true on your transaction, but all are not required. It can be helpful to use VAT Advisor to enter a sample transaction to understand the request body you need to send. The transaction can be stored if you include the query parameter commit=true if stored, the response will provide a uuid.
| commit | string Example: commit=true Optional, defaults to false; if true the transaction is stored and a unique id is provided in the response. |
| useTaxCodes | string Example: useTaxCodes=true Optional, defaults to false; if true the engine will check the ERP tax codes setup in our system and return the matching ERP code. |
| taxCodeScheme | string Example: taxCodeScheme=avalara Optional, if used it specifies which kind of taxCode to return. Must be used with useTaxCodes=true |
The payload body requires a JSON object which represents the transaction. If fields are missing, the API will return a response object with context enriched guidance on how to correct the request. Then the caller can resend an updated transaction
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object |
{ }{- "transaction1": "Supply of goods - BE - Intra-Community supply - N/A - 0 - 0 - 0",
- "transaction2": "N/A - N/A - No exemption - N/A",
- "rateT1": 0,
- "reversedOutputVat": 0,
- "reversedOutputVatRate": 0,
- "deductibleInputVat": 0,
- "invoiceMentioning": "Article 138(1) Directive 2006/112 EC",
- "invoiceMentioningEu": "Article 138(1) Council Directive 2006/112 EC",
- "taxableTransactionT1": "Supply of goods",
- "transType": "Intra-Community supply",
- "posT1": "BE",
- "exemptionDescriptionT1": "Intra-Community supply",
- "obligationToPayT1": "N/A",
- "taxPoint": "2025-05-09T00:00:00.000Z",
- "deductibleRate": 0,
- "sellerVatNo": "BE",
- "buyerVatNo": "DE",
- "baseAmount": 100,
- "vatAmount": 0,
- "importVatAmount": 0,
- "vatCode": "BESICSG000",
- "taxCode": [
- "A3",
- "IC0",
- "B0"
], - "peppolVatexCode": "VATEX-EU-79-C",
- "peppolTaxCategoryId": "K",
- "calculatedRate": 0,
- "uuid": "fea0f7da-074e-47e9-8bde-51b8b5f778da",
- "vatBoxes": [
- {
- "country": "BE",
- "box": "01",
- "value": 0
}
], - "provisions": [
- {
- "category": "Taxable_persons",
- "text": "Article_9_1"
}
]
}Returns a paginated dataset of the committed (saved) transactions stored on the platform. Takes filter criteria as query parameters and sets defaults to ensure a huge dataset is not fetched. Can be used to collect data periodically to store in your analysis data store; or to build an interactive dashboard in your application.
| entryDateTimeFrom | string Example: entryDateTimeFrom=2022-06-28T00:00:00.000Z Datetime stamp in UTC ISO string format from which to select transactions to return. Optional, if not provided it defaults to current date time -30 days. |
| entryDateTimeTo | string Example: entryDateTimeTo=2022-06-28T23:59:59.999Z Datetime stamp in UTC ISO string format of the end of the date time range. Optional, no default if not provided. |
| page | string Example: page=1 The page number of the result set you want to fetch. Optional, defaults to 1. |
| pageSize | string Example: pageSize=20 The number of transactions to return in a page of results. Optional, defaults to 20. |
| docNumber | string Example: docNumber=12345678 Filter result set by matching a document number provided on the original request. |
| vatCode | string Example: vatCode=BESICSG000 Filter result set by matching a VAT code from the VAT determination made by our engine. |
{- "count": 25,
- "next": {
- "page": 3,
- "pageSize": 20,
- "href": "/v1/determination/vat/transactions?entryDateTimeFrom=2022-06-28T15%3A18%3A28.823Z&page=3&pageSize=20"
}, - "previous": {
- "page": 1,
- "pageSize": 20,
- "href": "/v1/determination/vat/transactions?entryDateTimeFrom=2022-06-28T15%3A18%3A28.823Z&page=1&pageSize=20"
}, - "data": [
- {
- "request": {
- "transactionDetail": {
- "importedUnderDefermentScheme": true,
- "chainTransactionInvoice2": true,
- "isCustomsProcedureRemoval": true,
- "relevantContractsTax": true,
- "optedToTax": true,
- "statisticalProcedure": 0,
- "isForProvisioningOfAirline": true,
- "ExciseDutySuspensionRelease": true,
- "taxCode": "string",
- "isTemporaryStorage": true,
- "storedInDesignatedArea": true,
- "isCustomsWarehouse": true,
- "isDonatedItem": true,
- "underExciseDutySuspension": true,
- "isCustomsProcedure": true,
- "isExciseWarehouse": true,
- "taxCodeDescription": "string",
- "cashAccounting": true,
- "isInwardProcessing": true,
- "isForProvisioningOfVessel": true,
- "customsDutyAndLevyAmount": 0,
- "soldOnMarketplace": true,
- "intrastatVatScheme": "10",
- "linkedToExport": true,
- "warehouseFiscalRepresentative": true,
- "insuranceAmount": 0,
- "businessUsage": 0,
- "customsClearanceReference": "string",
- "splitPayment": true,
- "isFreeZone": true,
- "durationOfHire": 0,
- "callOffStock": true,
- "isBusinessEntertainment": true,
- "isVatWarehouseRemoval": true,
- "natureOfTransaction": 0,
- "reportingCountry": "GB",
- "chainTransactionInvoice1": true,
- "optedNotToTax": true,
- "isVatWarehouse": true,
- "isSuccessiveSupply": true,
- "betweenContractors": true,
- "shippingAndHandlingAmount": 0,
- "isExternalTransit": true
}, - "transportTerms": {
- "transport": "Seller",
- "modeOfTransport": 0,
- "importerOfRecord": "Seller",
- "consignmentValue": 0,
- "incoterm": "DDP"
}, - "landAndPropertyDetail": {
- "isNewBuild": true,
- "firstGrant": true,
- "isConversion": true,
- "substantialReconstruction": true,
- "conversionType": "Non-residential to residential",
- "leaseholdLength": 0,
- "certficateOfUsage": true,
- "suppliedAsPartOfConstructionService": true,
- "typeOfBuilding": "Dwelling",
- "freehold": true
}, - "locations": {
- "shipToCounty": "string",
- "departureCountry": "GB",
- "shipFrom": "GB",
- "placeOfGoods": "GB",
- "placeOfService": "GB",
- "shipToPostcode": "string",
- "regionShipFrom": "string",
- "shipToAddress1": "string",
- "shipFromCity": "string",
- "shipFromAddress2": "string",
- "shipToAddress3": "string",
- "shipToCity": "string",
- "regionShipTo": "string",
- "shipFromAddress3": "string",
- "shipTo": "GB",
- "shipToAddress2": "string",
- "shipFromAddress1": "string",
- "arrivalCountry": "GB",
- "countryImport": "GB",
- "shipFromCounty": "string",
- "shipFromPostcode": "string"
}, - "vehicleDetail": {
- "kilometresTravelled": 0,
- "numberOfSeats": 0,
- "cubicCapacity": 0,
- "length": 0,
- "power": 0,
- "age": 0
}, - "documentPayment": {
- "paymentTerms": "string",
- "paymentMeansCode": "1",
- "payeeFinancialAccountName": "string",
- "payeeFinancialInstitutionBranchId": "string",
- "paymentId": "string",
- "payeeFinancialAccountId": "string"
}, - "item": {
- "unit": "Litre",
- "totalAmountCurrency4": 0,
- "vatAmountToCheckCurrency4": 0,
- "tariffCode": "string",
- "vatAmountToCheckCurrency2": 0,
- "originalValue": 0,
- "supplementaryUnits": 0,
- "description": "string",
- "vatRateToCheck": 0,
- "reversedVatAmountToCheck": 0,
- "rateCategory": "string",
- "reversedVatAmountToCheckCurrency3": 0,
- "reversedVatAmountToCheckCurrency4": 0,
- "itemType": "Accommodation for business associates",
- "valueCurrency3": 0,
- "deductibleInputVatCurrency4": 0,
- "itemID": "string",
- "valueCurrency4": 0,
- "originalVatAmountToCheckCurrency3": 0,
- "userRateCategory": "Auto",
- "originalValueCurrency3": 0,
- "deductibleInputVatCurrency3": 0,
- "reversedVatRateToCheck": 0,
- "reversedVatAmountToCheckCurrency2": 0,
- "deductibleInputVatCurrency2": 0,
- "originalValueCurrency2": 0,
- "totalAmountCurrency2": 0,
- "quantity": 0,
- "origin": "string",
- "originalVatAmountToCheckCurrency4": 0,
- "totalAmountCurrency3": 0,
- "originalVatAmountToCheckCurrency2": 0,
- "originalVatAmountToCheck": 0,
- "itemBeingStored": "Alcohol (other)",
- "totalAmount": 0,
- "lineNumber": 0,
- "measurement": 0,
- "vatAmountToCheckCurrency3": 0,
- "deductibleInputVatRate": 0,
- "deductibleInputVat": 0,
- "statisticalValue": 0,
- "valueCurrency2": 0,
- "value": 0,
- "originalValueCurrency4": 0,
- "vatAmountToCheck": 0
}, - "seller": {
- "warehouseLicenceNumber": "string",
- "combinationGroupID": "string",
- "isRegisteredForToms": true,
- "incorporationId": "string",
- "isHospital": true,
- "id": "string",
- "registrationThreshold": true,
- "countryNonUnionOssId": "GB",
- "postCode": "string",
- "exciseNumberCountry": "GB",
- "sellerExciseNumber": "string",
- "countrySellerIossId": "GB",
- "countryUnionOssId": "GB",
- "vatIdType": "Fixed establishment",
- "name": "string",
- "type": "Taxable person",
- "sellerIossId": "string",
- "sellerNonUnionOssId": "string",
- "countriesVATRegistration": "string",
- "vatIdCountry": "GB",
- "isEligibleEducationalBody": true,
- "isCharity": true,
- "establishmentMakingSupply": "GB",
- "sellerUnionOssId": "string",
- "registeredConsignor": true,
- "buildingNumber": 0,
- "county": "string",
- "_id": "string",
- "isTravelAgent": true,
- "vatGroupID": "string",
- "specialSolidarityContribution": true,
- "establishedCountry": "GB",
- "euDistanceSellingThreshold": true,
- "sellerVatId": "string",
- "registeredForDistanceSales": true,
- "localTaxId": "string",
- "countriesFixedEstablishment": "string",
- "address": "string",
- "countriesImportDefermentLicence": "string",
- "countriesExciseRegistration": "string",
- "city": "string"
}, - "buyer": {
- "countriesVATRegistration": "string",
- "buyerExciseNumber": "string",
- "name": "string",
- "address": "string",
- "isRegisteredForToms": true,
- "postCode": "string",
- "buyerVatId": "string",
- "exciseNumberCountry": "GB",
- "isGasElecTaxableDealer": true,
- "establishedCountry": "GB",
- "_id": "string",
- "establishmentReceivingSupply": "GB",
- "incorporationId": "string",
- "customerOrPrincipal": "Customer",
- "isTravelAgent": true,
- "isAirline": true,
- "type": "Taxable person",
- "isVessel": true,
- "localTaxId": "string",
- "city": "string",
- "vatIdCountry": "GB",
- "vatGroupID": "string",
- "isRegisteredConsignee": true,
- "isHospital": true,
- "countriesFixedEstablishment": "string",
- "warehouseLicenceNumber": "string",
- "exportScheme": true,
- "countriesExciseRegistration": true,
- "isCharity": true,
- "id": "string",
- "vatIdType": "Fixed establishment",
- "isTrader": true,
- "county": "string",
- "combinationGroupID": "string",
- "countriesImportDefermentLicence": "string"
}, - "date": {
- "supplyDate": "2030-12-30",
- "dueDate": true,
- "docDate": "2030-12-30",
- "originalDocDate": "2030-12-30",
- "paymentDate": "2030-12-30",
- "dateOfTransaction": "2030-12-30"
}, - "document": {
- "discount": 0,
- "currency3": "string",
- "docNumber": "string",
- "vatInclusiveOrExclusive": "VAT inclusive",
- "currency4": "string",
- "documentStatus": true,
- "permitNumber": "string",
- "docType": "Sales invoice",
- "atcud": "string",
- "exchangeRate": 0,
- "currency2": "string",
- "originalDocNumber": "string",
- "invoiceType": "Full invoice",
- "quantity": 0,
- "currency": "string",
- "lineNumber": 0
}, - "itemProperties": {
- "isMedicalCare": true,
- "isArticle59Service": true,
- "isRestaurantOrCateringService": true,
- "isOnboardShipAircraftTrain": true,
- "isExciseGood": true,
- "isNewMeansOfTransport": true,
- "isValuationsOfAndWorkOnMoveableProperty": true,
- "isDigitalService": true,
- "isAncillaryServicesRelatingToCulturalArtisticSportingScientificEducationalEntertainmentFairsExhibitionsOrSimilarActivities": true,
- "isPublicPostalService": true,
- "isSecondHand": true,
- "isSuppliedByIntermediary": true,
- "isCapitalGood": true,
- "isMovableProperty": true,
- "isHireMeansOfTransport": true,
- "isTheSupplyOfStaffServices": true,
- "isServicesConnectedWithImmovableProperty": true,
- "isService": true,
- "isTransportationOfGoods": true,
- "isInsuranceOrReinsurance": true,
- "isImmovableProperty": true,
- "isEducation": true,
- "isTransportationOfPersons": true,
- "isAncillaryTransportServices": true,
- "isAdmission": true,
- "isGasElectricityHeatingCooling": true,
- "isGood": true,
- "isWelfareAndSocialSecurity": true,
- "isGambling": true,
- "isAccommodation": true,
- "isFinancialService": true,
- "isEnergyGood": true
}, - "thirdParties": {
- "partyCIsVessel": true,
- "partyAVatIdCountry": "GB",
- "filingAgentIndividualTaxId": "string",
- "filingAgentAddress": "string",
- "filingAgentCompanyName": "string",
- "partyCEstablishmentCountry": "GB",
- "carrierRegisteredForSpecialArrangements": true,
- "intermediaryRegisteredForIOSS": true,
- "filingAgentContactName": "string",
- "filingAgentVatId": "string",
- "mpRegisteredForOSS": true,
- "isMarketplace": true,
- "partyAEstablishmentCountry": "GB",
- "mpRegisteredForIOSS": true,
- "mpEstablishedCountry": "GB",
- "partyCVatIdCountry": "GB"
}, - "eInvoice": {
- "accountingCost": "string",
- "deliveryLocationSchemeId": "0002",
- "allowanceOrChargeAmount": true,
- "sellerElectronicAddress": "string",
- "allowanceOrChargeReasonCode": "41",
- "deliveryLocationId": "string",
- "deliveryPartyName": "string",
- "buyerReference": "string",
- "buyerElectronicAddress": "string",
- "documentNote": "string"
}, - "accounting": {
- "bookingAmountExlVAT": 0,
- "accountNumber": "string",
- "bookingDate": "2030-12-30",
- "bookingAmountVAT": 0,
- "bookingCurrency": "string"
}
}, - "response": {
- "transaction1": "Supply of goods - BE - Intra-Community supply - N/A - 0 - 0 - 0",
- "transaction2": "N/A - N/A - No exemption - N/A",
- "rateT1": 0,
- "reversedOutputVat": 0,
- "reversedOutputVatRate": 0,
- "deductibleInputVat": 0,
- "invoiceMentioning": "Article 138(1) Directive 2006/112 EC",
- "invoiceMentioningEu": "Article 138(1) Council Directive 2006/112 EC",
- "taxableTransactionT1": "Supply of goods",
- "transType": "Intra-Community supply",
- "posT1": "BE",
- "exemptionDescriptionT1": "Intra-Community supply",
- "obligationToPayT1": "N/A",
- "taxPoint": "2025-05-09T00:00:00.000Z",
- "deductibleRate": 0,
- "sellerVatNo": "BE",
- "buyerVatNo": "DE",
- "baseAmount": 100,
- "vatAmount": 0,
- "importVatAmount": 0,
- "vatCode": "BESICSG000",
- "taxCode": [
- "A3",
- "IC0",
- "B0"
], - "peppolVatexCode": "VATEX-EU-79-C",
- "peppolTaxCategoryId": "K",
- "calculatedRate": 0,
- "uuid": "fea0f7da-074e-47e9-8bde-51b8b5f778da",
- "vatBoxes": [
- {
- "country": "BE",
- "box": "01",
- "value": 0
}
], - "provisions": [
- {
- "category": "Taxable_persons",
- "text": "Article_9_1"
}
]
}, - "entryDateTime": "2022-06-28T14:12:35.000Z",
- "_id": "7942cf02-2067-4b37-8e00-e3bd3926d6e5"
}
]
}Providing the id of the transaction will fetch the transaction from the Tax Agile platform; by default it returns a summary of the payload sent in, and our response back.
Using the ?detail=true query parameter returns a detail representation of the transaction and how it was processed by our engine.
| id required | string Example: f17b19f2-391c-46b4-9857-025cb0d64a51 Uuid of the transaction |
| detail | boolean Example: detail=true Optional parameter to fetch a detailed representation of the transaction; if not used it defaults to a summary |
{- "request": {
- "transactionDetail": {
- "importedUnderDefermentScheme": true,
- "chainTransactionInvoice2": true,
- "isCustomsProcedureRemoval": true,
- "relevantContractsTax": true,
- "optedToTax": true,
- "statisticalProcedure": 0,
- "isForProvisioningOfAirline": true,
- "ExciseDutySuspensionRelease": true,
- "taxCode": "string",
- "isTemporaryStorage": true,
- "storedInDesignatedArea": true,
- "isCustomsWarehouse": true,
- "isDonatedItem": true,
- "underExciseDutySuspension": true,
- "isCustomsProcedure": true,
- "isExciseWarehouse": true,
- "taxCodeDescription": "string",
- "cashAccounting": true,
- "isInwardProcessing": true,
- "isForProvisioningOfVessel": true,
- "customsDutyAndLevyAmount": 0,
- "soldOnMarketplace": true,
- "intrastatVatScheme": "10",
- "linkedToExport": true,
- "warehouseFiscalRepresentative": true,
- "insuranceAmount": 0,
- "businessUsage": 0,
- "customsClearanceReference": "string",
- "splitPayment": true,
- "isFreeZone": true,
- "durationOfHire": 0,
- "callOffStock": true,
- "isBusinessEntertainment": true,
- "isVatWarehouseRemoval": true,
- "natureOfTransaction": 0,
- "reportingCountry": "GB",
- "chainTransactionInvoice1": true,
- "optedNotToTax": true,
- "isVatWarehouse": true,
- "isSuccessiveSupply": true,
- "betweenContractors": true,
- "shippingAndHandlingAmount": 0,
- "isExternalTransit": true
}, - "transportTerms": {
- "transport": "Seller",
- "modeOfTransport": 0,
- "importerOfRecord": "Seller",
- "consignmentValue": 0,
- "incoterm": "DDP"
}, - "landAndPropertyDetail": {
- "isNewBuild": true,
- "firstGrant": true,
- "isConversion": true,
- "substantialReconstruction": true,
- "conversionType": "Non-residential to residential",
- "leaseholdLength": 0,
- "certficateOfUsage": true,
- "suppliedAsPartOfConstructionService": true,
- "typeOfBuilding": "Dwelling",
- "freehold": true
}, - "locations": {
- "shipToCounty": "string",
- "departureCountry": "GB",
- "shipFrom": "GB",
- "placeOfGoods": "GB",
- "placeOfService": "GB",
- "shipToPostcode": "string",
- "regionShipFrom": "string",
- "shipToAddress1": "string",
- "shipFromCity": "string",
- "shipFromAddress2": "string",
- "shipToAddress3": "string",
- "shipToCity": "string",
- "regionShipTo": "string",
- "shipFromAddress3": "string",
- "shipTo": "GB",
- "shipToAddress2": "string",
- "shipFromAddress1": "string",
- "arrivalCountry": "GB",
- "countryImport": "GB",
- "shipFromCounty": "string",
- "shipFromPostcode": "string"
}, - "vehicleDetail": {
- "kilometresTravelled": 0,
- "numberOfSeats": 0,
- "cubicCapacity": 0,
- "length": 0,
- "power": 0,
- "age": 0
}, - "documentPayment": {
- "paymentTerms": "string",
- "paymentMeansCode": "1",
- "payeeFinancialAccountName": "string",
- "payeeFinancialInstitutionBranchId": "string",
- "paymentId": "string",
- "payeeFinancialAccountId": "string"
}, - "item": {
- "unit": "Litre",
- "totalAmountCurrency4": 0,
- "vatAmountToCheckCurrency4": 0,
- "tariffCode": "string",
- "vatAmountToCheckCurrency2": 0,
- "originalValue": 0,
- "supplementaryUnits": 0,
- "description": "string",
- "vatRateToCheck": 0,
- "reversedVatAmountToCheck": 0,
- "rateCategory": "string",
- "reversedVatAmountToCheckCurrency3": 0,
- "reversedVatAmountToCheckCurrency4": 0,
- "itemType": "Accommodation for business associates",
- "valueCurrency3": 0,
- "deductibleInputVatCurrency4": 0,
- "itemID": "string",
- "valueCurrency4": 0,
- "originalVatAmountToCheckCurrency3": 0,
- "userRateCategory": "Auto",
- "originalValueCurrency3": 0,
- "deductibleInputVatCurrency3": 0,
- "reversedVatRateToCheck": 0,
- "reversedVatAmountToCheckCurrency2": 0,
- "deductibleInputVatCurrency2": 0,
- "originalValueCurrency2": 0,
- "totalAmountCurrency2": 0,
- "quantity": 0,
- "origin": "string",
- "originalVatAmountToCheckCurrency4": 0,
- "totalAmountCurrency3": 0,
- "originalVatAmountToCheckCurrency2": 0,
- "originalVatAmountToCheck": 0,
- "itemBeingStored": "Alcohol (other)",
- "totalAmount": 0,
- "lineNumber": 0,
- "measurement": 0,
- "vatAmountToCheckCurrency3": 0,
- "deductibleInputVatRate": 0,
- "deductibleInputVat": 0,
- "statisticalValue": 0,
- "valueCurrency2": 0,
- "value": 0,
- "originalValueCurrency4": 0,
- "vatAmountToCheck": 0
}, - "seller": {
- "warehouseLicenceNumber": "string",
- "combinationGroupID": "string",
- "isRegisteredForToms": true,
- "incorporationId": "string",
- "isHospital": true,
- "id": "string",
- "registrationThreshold": true,
- "countryNonUnionOssId": "GB",
- "postCode": "string",
- "exciseNumberCountry": "GB",
- "sellerExciseNumber": "string",
- "countrySellerIossId": "GB",
- "countryUnionOssId": "GB",
- "vatIdType": "Fixed establishment",
- "name": "string",
- "type": "Taxable person",
- "sellerIossId": "string",
- "sellerNonUnionOssId": "string",
- "countriesVATRegistration": "string",
- "vatIdCountry": "GB",
- "isEligibleEducationalBody": true,
- "isCharity": true,
- "establishmentMakingSupply": "GB",
- "sellerUnionOssId": "string",
- "registeredConsignor": true,
- "buildingNumber": 0,
- "county": "string",
- "_id": "string",
- "isTravelAgent": true,
- "vatGroupID": "string",
- "specialSolidarityContribution": true,
- "establishedCountry": "GB",
- "euDistanceSellingThreshold": true,
- "sellerVatId": "string",
- "registeredForDistanceSales": true,
- "localTaxId": "string",
- "countriesFixedEstablishment": "string",
- "address": "string",
- "countriesImportDefermentLicence": "string",
- "countriesExciseRegistration": "string",
- "city": "string"
}, - "buyer": {
- "countriesVATRegistration": "string",
- "buyerExciseNumber": "string",
- "name": "string",
- "address": "string",
- "isRegisteredForToms": true,
- "postCode": "string",
- "buyerVatId": "string",
- "exciseNumberCountry": "GB",
- "isGasElecTaxableDealer": true,
- "establishedCountry": "GB",
- "_id": "string",
- "establishmentReceivingSupply": "GB",
- "incorporationId": "string",
- "customerOrPrincipal": "Customer",
- "isTravelAgent": true,
- "isAirline": true,
- "type": "Taxable person",
- "isVessel": true,
- "localTaxId": "string",
- "city": "string",
- "vatIdCountry": "GB",
- "vatGroupID": "string",
- "isRegisteredConsignee": true,
- "isHospital": true,
- "countriesFixedEstablishment": "string",
- "warehouseLicenceNumber": "string",
- "exportScheme": true,
- "countriesExciseRegistration": true,
- "isCharity": true,
- "id": "string",
- "vatIdType": "Fixed establishment",
- "isTrader": true,
- "county": "string",
- "combinationGroupID": "string",
- "countriesImportDefermentLicence": "string"
}, - "date": {
- "supplyDate": "2030-12-30",
- "dueDate": true,
- "docDate": "2030-12-30",
- "originalDocDate": "2030-12-30",
- "paymentDate": "2030-12-30",
- "dateOfTransaction": "2030-12-30"
}, - "document": {
- "discount": 0,
- "currency3": "string",
- "docNumber": "string",
- "vatInclusiveOrExclusive": "VAT inclusive",
- "currency4": "string",
- "documentStatus": true,
- "permitNumber": "string",
- "docType": "Sales invoice",
- "atcud": "string",
- "exchangeRate": 0,
- "currency2": "string",
- "originalDocNumber": "string",
- "invoiceType": "Full invoice",
- "quantity": 0,
- "currency": "string",
- "lineNumber": 0
}, - "itemProperties": {
- "isMedicalCare": true,
- "isArticle59Service": true,
- "isRestaurantOrCateringService": true,
- "isOnboardShipAircraftTrain": true,
- "isExciseGood": true,
- "isNewMeansOfTransport": true,
- "isValuationsOfAndWorkOnMoveableProperty": true,
- "isDigitalService": true,
- "isAncillaryServicesRelatingToCulturalArtisticSportingScientificEducationalEntertainmentFairsExhibitionsOrSimilarActivities": true,
- "isPublicPostalService": true,
- "isSecondHand": true,
- "isSuppliedByIntermediary": true,
- "isCapitalGood": true,
- "isMovableProperty": true,
- "isHireMeansOfTransport": true,
- "isTheSupplyOfStaffServices": true,
- "isServicesConnectedWithImmovableProperty": true,
- "isService": true,
- "isTransportationOfGoods": true,
- "isInsuranceOrReinsurance": true,
- "isImmovableProperty": true,
- "isEducation": true,
- "isTransportationOfPersons": true,
- "isAncillaryTransportServices": true,
- "isAdmission": true,
- "isGasElectricityHeatingCooling": true,
- "isGood": true,
- "isWelfareAndSocialSecurity": true,
- "isGambling": true,
- "isAccommodation": true,
- "isFinancialService": true,
- "isEnergyGood": true
}, - "thirdParties": {
- "partyCIsVessel": true,
- "partyAVatIdCountry": "GB",
- "filingAgentIndividualTaxId": "string",
- "filingAgentAddress": "string",
- "filingAgentCompanyName": "string",
- "partyCEstablishmentCountry": "GB",
- "carrierRegisteredForSpecialArrangements": true,
- "intermediaryRegisteredForIOSS": true,
- "filingAgentContactName": "string",
- "filingAgentVatId": "string",
- "mpRegisteredForOSS": true,
- "isMarketplace": true,
- "partyAEstablishmentCountry": "GB",
- "mpRegisteredForIOSS": true,
- "mpEstablishedCountry": "GB",
- "partyCVatIdCountry": "GB"
}, - "eInvoice": {
- "accountingCost": "string",
- "deliveryLocationSchemeId": "0002",
- "allowanceOrChargeAmount": true,
- "sellerElectronicAddress": "string",
- "allowanceOrChargeReasonCode": "41",
- "deliveryLocationId": "string",
- "deliveryPartyName": "string",
- "buyerReference": "string",
- "buyerElectronicAddress": "string",
- "documentNote": "string"
}, - "accounting": {
- "bookingAmountExlVAT": 0,
- "accountNumber": "string",
- "bookingDate": "2030-12-30",
- "bookingAmountVAT": 0,
- "bookingCurrency": "string"
}
}, - "response": {
- "transaction1": "Supply of goods - BE - Intra-Community supply - N/A - 0 - 0 - 0",
- "transaction2": "N/A - N/A - No exemption - N/A",
- "rateT1": 0,
- "reversedOutputVat": 0,
- "reversedOutputVatRate": 0,
- "deductibleInputVat": 0,
- "invoiceMentioning": "Article 138(1) Directive 2006/112 EC",
- "invoiceMentioningEu": "Article 138(1) Council Directive 2006/112 EC",
- "taxableTransactionT1": "Supply of goods",
- "transType": "Intra-Community supply",
- "posT1": "BE",
- "exemptionDescriptionT1": "Intra-Community supply",
- "obligationToPayT1": "N/A",
- "taxPoint": "2025-05-09T00:00:00.000Z",
- "deductibleRate": 0,
- "sellerVatNo": "BE",
- "buyerVatNo": "DE",
- "baseAmount": 100,
- "vatAmount": 0,
- "importVatAmount": 0,
- "vatCode": "BESICSG000",
- "taxCode": [
- "A3",
- "IC0",
- "B0"
], - "peppolVatexCode": "VATEX-EU-79-C",
- "peppolTaxCategoryId": "K",
- "calculatedRate": 0,
- "uuid": "fea0f7da-074e-47e9-8bde-51b8b5f778da",
- "vatBoxes": [
- {
- "country": "BE",
- "box": "01",
- "value": 0
}
], - "provisions": [
- {
- "category": "Taxable_persons",
- "text": "Article_9_1"
}
]
}, - "entryDateTime": "2022-06-28T14:12:35.000Z",
- "_id": "7942cf02-2067-4b37-8e00-e3bd3926d6e5",
- "source": "calculator-api"
}VAT Filer provides filings, filing events, filing reports, based on data loaded using Data manager.
Returns a paginated list of filings available on the platform. Use the returned id values as the filingId when setting up filing events on company registrations.
| countryCode | string = 2 characters Example: countryCode=BE Filter by ISO 3166-1 alpha-2 country code (e.g. |
| category | string (filingCategories) Enum: "vat-return" "vat-book" "annual-vat-return" "ec-sales-listing" "intrastat-arrivals" "intrastat-dispatches" "customer-listing" "intrastat-combined" "oss-return" "union-oss-return" "saf-t" "ec-purchase-listing" "ec-combined-listing" "supplier-and-customer-listing" "register" Example: category=vat-return Filter by filing category |
| page | integer >= 1 Default: 1 Page number (1-based) |
| pageSize | integer >= 1 Default: 10 Number of results per page |
{- "count": 0,
- "data": [
- {
- "countryCode": "PL",
- "dueDate": {
- "months": 0,
- "days": 0
}, - "category": "vat-return",
- "frequencies": [
- "string"
], - "id": "6lxvlAsBZikljpKymB5R",
- "name": "JPK_V7M"
}
], - "page": 0,
- "pageSize": 0,
- "next": {
- "page": 0,
- "pageSize": 0,
- "href": "string"
}, - "previous": {
- "page": 0,
- "pageSize": 0,
- "href": "string"
}
}Returns a paginated list of filing events based on company setup on the account, filtered by due date range. The date range must not exceed 365 days.
| dueDateFrom required | string <date> Example: dueDateFrom=2025-01-01 Start of due date range (inclusive), format |
| dueDateTo required | string <date> Example: dueDateTo=2025-12-31 End of due date range (inclusive), format |
| companyId | string Example: companyId=2cb5fb93-64ca-4ce2-ae3f-ad9d67c90578 Filter by company ID |
| companyCode | string Example: companyCode=ABC123 Filter by company code |
| countryCode | string Example: countryCode=BE Filter by country code |
| filingCategory | string (filingCategories) Enum: "vat-return" "vat-book" "annual-vat-return" "ec-sales-listing" "intrastat-arrivals" "intrastat-dispatches" "customer-listing" "intrastat-combined" "oss-return" "union-oss-return" "saf-t" "ec-purchase-listing" "ec-combined-listing" "supplier-and-customer-listing" "register" Example: filingCategory=vat-return Filter by filing category |
| status | string (filingStatus) Enum: "Open" "Draft" "Approved" "Submitted" Filter by filing status |
| preparerUserId | string Filter by preparer identifier (id) |
| reviewerUserId | string Filter by reviewer identifier (id) |
| submitterUserId | string Filter by submitter identifier (id) |
| periodKey | string Example: periodKey=12-2026 Filter by period key |
| page | integer >= 1 Default: 1 Page number (1-based) |
| pageSize | integer [ 1 .. 200 ] Default: 50 Number of results per page (max 200) |
{- "count": 0,
- "data": [
- {
- "companyId": "string",
- "companyName": "string",
- "countryCode": "string",
- "dueDate": "2019-08-24",
- "filingCategory": "vat-return",
- "filingId": "string",
- "filingName": "string",
- "periodKey": "string",
- "preparerUserId": "string",
- "reviewerUserId": "string",
- "status": "Open",
- "submitterUserId": "string",
- "href": "string"
}
], - "next": {
- "page": 0,
- "pageSize": 0,
- "href": "string"
}, - "previous": {
- "page": 0,
- "pageSize": 0,
- "href": "string"
}
}Returns the available report options for the identified filing event, including links to the view and filing report endpoints.
| companyId required | string Example: 916b42c6-07d6-49cb-a44d-4d9c24e46363 The company ID |
| filingId required | string Example: 6lxvlAsBZikljpKymB5R The filing ID |
| periodKey required | string Example: 11-2025 The period key |
{- "view": {
- "languages": [
- "pol",
- "eng"
], - "href": "/vN/filer/vat/filings/events/companies/916b42c6-07d6-49cb-a44d-4d9c24e46363/filings/6lxvlAsBZikljpKymB5R/periods/11-2025/reports/view"
}, - "filing": {
- "href": "/vN/filer/vat/filings/events/companies/916b42c6-07d6-49cb-a44d-4d9c24e46363/filings/6lxvlAsBZikljpKymB5R/periods/11-2025/reports/filing"
}
}Returns the specified report for the filing event. The view report returns an HTML page. All other report types return a message directing callers to use POST for filing reports.
First call the metadata endpoint to understand the options available, like languages available.
| companyId required | string Example: 916b42c6-07d6-49cb-a44d-4d9c24e46363 The company ID |
| filingId required | string Example: 6lxvlAsBZikljpKymB5R The filing ID |
| periodKey required | string Example: 11-2025 The period key |
| report required | string Value: "filing" The type of report |
| lang | string Example: lang=eng Language code for the report (ISO 639-2, e.g. |
{- "errorCode": "VFR002",
- "message": "Use POST for reports/filing"
}Generates the output filing document for the identified filing event. The report path parameter must be filing.
First call the metadata endpoint to know the questions to answer as part of this generation.
Provide any required questionnaire answers and the required formatId in the request body.
| companyId required | string Example: 916b42c6-07d6-49cb-a44d-4d9c24e46363 The company ID |
| filingId required | string Example: 6lxvlAsBZikljpKymB5R The filing ID |
| periodKey required | string Example: 11-2025 The period key |
| report required | string Value: "filing" The type of report |
| formatId required | string Specific format definition ID, as shown by the metadata endpoint |
required | Array of objects (filingReportQuestion) Answered questionnaire questions |
{- "formatId": "008e23c7-e749-4151-9f91-16b7568a2b24",
- "questions": [
- { }
]
}Returns the available output formats for the filing report. Optionally filter by formatId or format (mutually exclusive) to retrieve the matching format definition including its questionnaire questions.
| companyId required | string Example: 916b42c6-07d6-49cb-a44d-4d9c24e46363 The company ID |
| filingId required | string Example: 6lxvlAsBZikljpKymB5R The filing ID |
| periodKey required | string Example: 11-2025 The period key |
| report required | string Value: "filing" The report type — must be |
| formatId | string Return metadata for a specific format definition ID. Mutually exclusive with |
| format | string Return metadata filtered by format extension (e.g. |
{- "id": "string",
- "name": "string",
- "extension": "string"
}Use API key and accountId to authenticate, and receive a time-based Bearer token which is then used on subsequent requests in the Authorization header.
| apiKey required | string [ 1 .. 40 ] characters The API key issued by Tax Agile |
| accountId required | string [ 1 .. 100 ] characters The account id issued by Tax Agile |
{- "apiKey": "d9b97d76-5b6c-426f-9625-a1f63b7e195b",
- "accountId": "1Qwj3WEgtaABCCkzgkAL"
}{- "expiresIn": 86400,
- "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50SWQiOiJERU1PIiwiaWF0IjoxNjUzMDU3MjU2LCJleHAiOjE2NTMxNDM2NTZ9.bSMQE3mRHL0LGl9Fpn3rl8wJkvQC7WN9N-U7ikwaavQ",
- "tokenType": "Bearer"
}VAT Data manager for uploads - includes details of the data pipeline options selected.
Send data in either json or multi-part form data.
Providing options which link the upload to pipeline options like enrichment and sending to Filer or Auditor.
In v1.3.1 we added validation to the json payload that dates are in the format 'YYYY-MM-DD'.
In v1.3.3 we added the ability to send JSON and use a data mapping to transform incomplete JSON into our Tax Agile JSON format.
The request can be sent as an application/json in the request body, or a multipart/form-data file.
The request body must be an object, containing a data and options object { data: [], options {}}. The data array can be in vatDataModelSchema or a bespoke format and use a data mapping to transform the body. The options object specifies the data pipeline, stating if the data is sent to Filer and/or Auditor and the data mapping id to use. When sending Tax Agile data model format JSON, the mappingId should be set to default.
The form has two fields file and options.
The 'options' field takes a json {} with the pipeline options.
The 'file' field takes a file object which can be either an Excel xlsx file, or an Avalara iVAT Reporting XML file.
If sending the Avalara XML format you must set the *Content-Type of the file field to application/vnd.avalara.ivat.reporting+xml and the mappingId set to vnd.avalara.ivat.reporting+xml.
Check out the example in the Postman Sample Collection as the multipart/form-data request has it's own Content-Type, as does the 'options' field.
Array of objects (VAT Data Model) | |
object (VAT Upload - Options) |
{ }{- "_id": "ceb50cb0-0135-4fdf-bcd3-dbfc9d4d9adc",
- "href": "/v1/operations/ceb50cb0-0135-4fdf-bcd3-dbfc9d4d9adc"
}Summary list of the most recent 100 uploads.
[- {
- "_id": "4e9a3622-c743-46e7-8bb0-f4fa51795164",
- "entryDateTime": "2024-08-02T13:38:50.759Z",
- "name": "Gen template test file.xlsx",
- "totalDocuments": 10,
- "mappingName": "Tax Agile Test Mapping",
- "dataSource": "api",
- "status": "Complete",
- "options": {
- "mappingId": "CTDCqBkBozNOQe1NFoaa",
- "sendToFiler": false,
- "sendToAuditor": false,
- "doTaxCodeMapping": false,
- "renameFileIfDuplicate": false
}, - "resource": {
- "href": "/v1/datamanager/vat/uploads/4e9a3622-c743-46e7-8bb0-f4fa51795164"
}
}
]| id required | string Example: 4e9a3622-c743-46e7-8bb0-f4fa51795164 Id of the upload |
{- "_id": "4e9a3622-c743-46e7-8bb0-f4fa51795164",
- "status": "Complete",
- "uploadDetails": {
- "name": "2024-08-05T14:48:20.000Z.json",
- "totalDocuments": 10,
- "entryDateTime": "2024-08-05T14:48:20.000Z",
- "endDateTime": "2024-08-05T14:49:40.000Z",
- "mappingName": "Tax Agile Filer Mapping",
- "dataSource": "Uploaded in the UI by andy.lee@taxagile.io"
}, - "options": {
- "mappingId": "CTDCqBkBozNOQe1NFoaa",
- "sendToFiler": false,
- "sendToAuditor": false,
- "doTaxCodeMapping": false,
- "renameFileIfDuplicate": false
}, - "progress": {
- "auditorTasksProgress": 100,
- "filerTasksProgress": 100,
- "progress": 100,
- "disableDelete": true
}
}This endpoint deletes the upload resource, and the associated data created during the upload.
If sendToFiler was used when loading the data, then deleting the upload, removes the data from the returns in VAT Filer.
| id required | string Example: 4e9a3622-c743-46e7-8bb0-f4fa51795164 Id of the upload |
{- "errorCode": "DMV008",
- "message": "Id is a mandatory path parameter"
} Use this endpoint to poll for completion of an operation. When the operation completes this endpoint returns a new location header and href in body of the new resource on a 302 See Other status.
| id required | string Example: e7c54568-6a4a-4e73-a176-dc59d0ec5604 Uuid of the specific operation |
{- "_id": "7942cf02-2067-4b37-8e00-e3bd3926d6",
- "status": "Pending | Inprogress",
- "href": "/v1/operations/7942cf02-2067-4b37-8e00-e3bd3926d6"
}Creates a new company from a JSON request body, returning a unique company internal ID.
| booksClosingDay | integer |
| companyCode required | string User defined short code for the company, mandatory and must be unique. This code is used when loading transaction data for the company and when setting up tax codes. |
Array of objects (companyContactRequest) A company can have contacts and for future use it supports setting up >1 contact, but in current implementation only 1 contact is used by the application. An empty array If creating the contact as part of the company creation request, then any or all fields may be provided. | |
Array of VAT (object) or Sales tax (object) Tax domain specific attributes for the company, for example VAT Domain attributes. This is the main object sub-structure of a Company, focussing on the VAT Domain, this is where An empty array Note: This object supports different data formats for different tax domains. The documentation states | |
| establishedCountry required | string = 2 characters Main establishment country using ISO 3166-1 alpha-2 country code format. |
| financialYearStart | string <date> Financial year start date in YYYY-MM-DD format. |
Array of objects (companyLink) Companies can be linked to other companies by defining parent-child relationships. This can be where companyCode values are consolidated, or for VAT groups. This is not mandatory and an empty array | |
Array of objects (companyLocation) A company can have locations and for future use it supports setting up >1 location, but in current implementation only 1 location is used by the application. This is not mandatory and an empty array | |
| name required | string Company name. This is presented in the UX as the full human readable name of the company. |
| registrationNumber | string Company registration number. |
| type required | string Enum: "Taxable person" "Private individual" "Non-taxable legal person" "European Union body" "Embassy" "International body" "NATO" Type of person. Must use one of the explicit string values listed in the enumeration list. |
{- "companyCode": "ABC123",
- "name": "ACME Packaging Europe GMBH",
- "establishedCountry": "BE",
- "type": "Taxable person"
}{- "_id": "232e67cf-ff4c-41a2-a472-93a58b373ad4"
}Retrieves a paginated list of companies with optional filtering
| page | string Default: "1" Page number for pagination |
| pageSize | string Default: "10" Number of items per page |
| companyCode | string Filter by exact company code match |
| companyCodeIncludes | string Filter by company code using trigram search |
| name | string Filter by exact company name match |
| nameIncludes | string Filter by company name using trigram search |
| establishedInCountryCode | string = 2 characters Example: establishedInCountryCode=BE Filter by country where company is established (ISO 3166-1 alpha-2) |
{- "count": 0,
- "data": [
- {
- "_id": "232e67cf-ff4c-41a2-a472-93a58b373ad4",
- "booksClosingDay": 0,
- "companyCode": "ABC123",
- "contacts": [
- {
- "description": "Local agent",
- "email": "user@localagent.com",
- "name": "Harry Jones",
- "phone": "+44 7707 001 007",
- "isDefault": true
}
], - "domains": [
- {
- "avalaraTaxCodesAllowed": false,
- "domainId": "vat",
- "isAirline": false,
- "isCharity": false,
- "isGasElecTaxableDealer": false,
- "isGovernment": false,
- "isHospital": false,
- "isMarketplace": false,
- "isTrader": false,
- "isTravelAgent": false,
- "isVessel": false,
- "mpEstablishedCountry": "NL",
- "mpRegisteredForIOSS": false,
- "mpRegisteredForOSS": false,
- "registrations": [
- {
- "country": "BE",
- "distanceSales": false,
- "exportScheme": false,
- "filings": [
- {
- "country": "AT",
- "deadlineExtendedByDays": 0,
- "deadlineExtendedByMonths": 0,
- "filingId": "1CbBkT8GufLXR7QyM2eB",
- "frequency": "quarter",
- "name": "VAT Return (U 30)",
- "taskSettings": {
- "createPreparerTask": null,
- "preparerTaskDaysBefore": null
}, - "preparers": [
- null
], - "reviewers": [
- null
], - "submitters": [
- null
]
}
], - "fixedRate": "16.5",
- "importLicence": false,
- "IOSS": "IM1234567890",
- "isRegisteredForToms": false,
- "localTaxNumber": "123456789",
- "methodRecovery": "standard",
- "nonUnionOSS": "NU123456789",
- "registrationId": "1234567890",
- "typeOfVatPayer": "",
- "unionOSS": "EU123456789",
- "vatRegistrationType": "mainEstablishment",
- "warehouseLicenceNumber": "GBWH123456789000"
}
], - "reportSalesAlsoOnPurchaseSide": false,
- "signConvention": "allPos"
}
], - "establishedCountry": "BE",
- "financialYearStart": "2026-01-01",
- "linkedCompanies": [
- {
- "type": "vat-group",
- "children": [
- {
- "companyCode": "string",
- "companyId": "string"
}
], - "parents": [
- {
- "companyCode": "string",
- "companyId": "string"
}
], - "scope": {
- "key": "string",
- "value": "string"
}
}
], - "locations": [
- {
- "line1": "42 High Street.",
- "city": "London",
- "county": "New county",
- "country": "GB",
- "description": "Head office",
- "isDefault": true,
- "state": "State Abc",
- "postalCode": "BN1 1AA"
}
], - "name": "ACME Packaging Europe GMBH",
- "registrationNumber": "1234567890",
- "type": "Taxable person"
}
], - "page": "string",
- "pageSize": "string"
}TODO wrong schema - Retrieves a single company by its UUID
| id required | string <uuid> Company UUID |
{- "_id": "232e67cf-ff4c-41a2-a472-93a58b373ad4",
- "booksClosingDay": 0,
- "companyCode": "ABC123",
- "contacts": [
- {
- "description": "Local agent",
- "email": "user@localagent.com",
- "name": "Harry Jones",
- "phone": "+44 7707 001 007",
- "isDefault": true
}
], - "domains": [
- {
- "avalaraTaxCodesAllowed": false,
- "domainId": "vat",
- "isAirline": false,
- "isCharity": false,
- "isGasElecTaxableDealer": false,
- "isGovernment": false,
- "isHospital": false,
- "isMarketplace": false,
- "isTrader": false,
- "isTravelAgent": false,
- "isVessel": false,
- "mpEstablishedCountry": "NL",
- "mpRegisteredForIOSS": false,
- "mpRegisteredForOSS": false,
- "registrations": [
- {
- "country": "BE",
- "distanceSales": false,
- "exportScheme": false,
- "filings": [
- {
- "country": "AT",
- "deadlineExtendedByDays": 0,
- "deadlineExtendedByMonths": 0,
- "filingId": "1CbBkT8GufLXR7QyM2eB",
- "frequency": "quarter",
- "name": "VAT Return (U 30)",
- "taskSettings": {
- "createPreparerTask": true,
- "preparerTaskDaysBefore": 35
}, - "preparers": [
- {
- "isDefault": true,
- "userUid": "string"
}
], - "reviewers": [
- {
- "isDefault": true,
- "userUid": "string"
}
], - "submitters": [
- {
- "isDefault": true,
- "userUid": "string"
}
]
}
], - "fixedRate": "16.5",
- "importLicence": false,
- "IOSS": "IM1234567890",
- "isRegisteredForToms": false,
- "localTaxNumber": "123456789",
- "methodRecovery": "standard",
- "nonUnionOSS": "NU123456789",
- "registrationId": "1234567890",
- "typeOfVatPayer": "",
- "unionOSS": "EU123456789",
- "vatRegistrationType": "mainEstablishment",
- "warehouseLicenceNumber": "GBWH123456789000"
}
], - "reportSalesAlsoOnPurchaseSide": false,
- "signConvention": "allPos"
}
], - "establishedCountry": "BE",
- "financialYearStart": "2026-01-01",
- "linkedCompanies": [
- {
- "type": "vat-group",
- "children": [
- {
- "companyCode": "string",
- "companyId": "string"
}
], - "parents": [
- {
- "companyCode": "string",
- "companyId": "string"
}
], - "scope": {
- "key": "string",
- "value": "string"
}
}
], - "locations": [
- {
- "line1": "42 High Street.",
- "city": "London",
- "county": "New county",
- "country": "GB",
- "description": "Head office",
- "isDefault": true,
- "state": "State Abc",
- "postalCode": "BN1 1AA"
}
], - "name": "ACME Packaging Europe GMBH",
- "registrationNumber": "1234567890",
- "type": "Taxable person"
}Updates an existing company object.
An idempotent operation, the request body must contain the complete updated company object.
Note: The data provided in the request body will overwrite data already set, this not a PATCH, so it is not suitable for partial updates.
| id required | string <uuid> Example: 232e67cf-ff4c-41a2-a472-93a58b373ad4 Company unique internal id. This will need to match the value provided in the request body |
| _id required | string Unique internal identifier of the company resource. |
| booksClosingDay | integer |
| companyCode required | string User defined short code for the company, not mandatory but recommended to include at creation. This code is used when loading transaction data for the company and when setting up tax codes. |
Array of objects (companyContactRequest) A company can have contacts and for future use it supports setting up >1 contact, but in current implementation only 1 contact is used by the application. An empty array If creating the contact as part of the company creation request, then any or all fields may be provided. | |
Array of VAT (object) or Sales tax (object) Tax domain specific attributes for the company, for example VAT Domain attributes. This is the main object sub-structure of a Company, focussing on the VAT Domain, this is where An empty array Note: This object supports different data formats for different tax domains. The documentation states | |
| establishedCountry required | string = 2 characters Main establishment country using ISO 3166-1 alpha-2 country code format. |
| financialYearStart | string <date> Financial year start date in YYYY-MM-DD format. |
Array of objects (companyLink) Companies can be linked to other companies by defining parent-child relationships. This can be where companyCode values are consolidated, or for VAT groups. | |
Array of objects (companyLocation) A company can have locations and for future use it supports setting up >1 location, but in current implementation only 1 location is used by the application. An empty array | |
| name required | string Company name. This is presented in the UX as the full human readable name of the company. |
| registrationNumber | string Company registration number. |
| type required | string Enum: "Taxable person" "Private individual" "Non-taxable legal person" "European Union body" "Embassy" "International body" "NATO" Type of person. Must use one of the explicit string values listed in the enumeration list. |
{- "_id": "232e67cf-ff4c-41a2-a472-93a58b373ad4",
- "companyCode": "ABC1234567890",
- "name": "ACME Packaging Europe GMBH",
- "establishedCountry": "BE",
- "type": "Taxable person"
}{- "errorCode": "EXA001",
- "message": "The provided <field> is not valid"
}