Xentral Tax Account Mapping API
Tax Account Mapping configurations
Tax Account Mapping configurations
openapi: 3.0.0
info:
title: Xentral Account Tax Account Mapping API
version: v0.1
description: Xentral is an ERP platform.
contact:
name: Xentral
url: https://xentral.com
email: api@xentral.com
servers:
- url: https://{xentralId}.xentral.biz
description: Your Xentral Instance
variables:
xentralId:
default: xentral
- url: https://{domain}
description: Xentral at a custom domain
variables:
domain:
default: xentral.com
security:
- BearerAuth: []
tags:
- name: Tax Account Mapping
description: Tax Account Mapping configurations
paths:
/api/v1/taxAccountMapping:
post:
tags:
- Tax Account Mapping
operationId: taxAccountMapping.create.v1
summary: 🔒 Create tax account mapping
description: 'This endpoint is currently in Beta and available for testing. It may contain bugs, and breaking changes can occur at any time without prior notice. We do not recommend using Beta endpoints in production environments. Should you choose to use it in production, you assume full responsibility for any resulting issues.
Creates a single tax account mapping.'
requestBody:
description: Create a tax account mapping object
content:
application/json:
schema:
type: object
additionalProperties: true
required:
- accountId
properties:
accountId:
type: string
countryCode:
type: string
minLength: 2
maxLength: 2
region:
type: string
maxLength: 100
zipCode:
type: string
maxLength: 10
isActive:
type: boolean
examples:
tax account mapping:
value:
accountId: '1'
countryCode: DE
region: ''
zipCode: ''
isActive: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
additionalProperties: true
description: Tax account mapping entry
properties:
id:
description: Tax account mapping ID
type: string
example: '1'
name:
description: Name of the mapping
type: string
example: ''
account:
type: object
additionalProperties: true
description: Account entry
properties:
id:
description: Account ID
type: string
example: '1'
accountNumber:
description: Account number
type: string
example: '1000'
accountType:
description: Account type
type: string
maxLength: 50
example: asset
name:
description: Account name
type: string
maxLength: 100
example: Cash Account
description:
description: Account description
type: string
maxLength: 255
example: Main cash account for daily operations
isStandard:
description: Is standard account
type: boolean
example: false
deletedAt:
description: Deleted at timestamp
type: string
format: date-time
nullable: true
example: null
createdAt:
description: Created at timestamp
type: string
format: date-time
example: '2022-01-01T00:00:00Z'
updatedAt:
description: Updated at timestamp
type: string
format: date-time
example: '2022-01-01T00:00:00Z'
example:
id: '1'
accountNumber: '1000'
accountType: asset
name: Cash Account
description: Main cash account for daily operations
isStandard: false
deletedAt: null
createdAt: '2022-01-01T00:00:00Z'
updatedAt: '2022-01-01T00:00:00Z'
taxType:
type: object
additionalProperties: true
description: Tax type entry
properties:
id:
description: Tax type ID
type: string
example: '1'
name:
description: Tax type name
type: string
maxLength: 50
example: custom_tax_type
description:
description: Tax type description
type: string
maxLength: 255
nullable: true
example: Custom tax type for testing
isStandard:
description: Is standard tax type
type: boolean
example: false
createdAt:
description: Created at timestamp
type: string
format: date-time
example: '2022-01-01T00:00:00Z'
updatedAt:
description: Updated at timestamp
type: string
format: date-time
example: '2022-01-01T00:00:00Z'
example:
id: '1'
name: custom_tax_type
description: Custom tax type for testing
isStandard: false
createdAt: '2022-01-01T00:00:00Z'
updatedAt: '2022-01-01T00:00:00Z'
countryCode:
description: Country code in ISO 3166-1 alpha-2 format
type: string
example: DE
region:
description: Region
type: string
nullable: true
example: ''
zipCode:
description: ZIP code
type: string
nullable: true
example: ''
isActive:
description: Is active
type: boolean
example: true
createdAt:
description: Created at timestamp
type: string
format: date-time
example: '2022-01-01T00:00:00Z'
updatedAt:
description: Updated at timestamp
type: string
format: date-time
example: '2022-01-01T00:00:00Z'
example:
id: '2'
name: ''
account:
id: '3'
accountNumber: '1776'
accountType: tax
name: VAT Standard
description: VAT 19%
isStandard: true
deletedAt: null
createdAt: '2025-08-13T09:02:39.808Z'
updatedAt: '2025-08-13T09:02:39.808Z'
taxType:
id: '1'
name: standard
description: Standard
isStandard: true
createdAt: '2025-11-26T08:08:53.640784Z'
updatedAt: '2025-11-26T08:08:53.640784Z'
countryCode: DE
region: ''
zipCode: ''
isActive: true
createdAt: '2022-01-01T00:00:00Z'
updatedAt: '2022-01-01T00:00:00Z'
'400':
description: XGL Problem
content:
application/problem+json:
schema:
type: object
description: XGL Problem specification
properties:
type:
type: string
description: URL of the problem
example: https://api.xentral.biz/problems/xgl-error
title:
type: string
description: title of the error. It should be always XGL Error
example: XGL Error
errorCode:
type: integer
description: Error code regarding the request failure
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
example: 1
message:
type: string
description: General description about the failed request
enum:
- Error listing tax obligations
- Error creating tax obligation
- Error listing taxes
- Error getting account information
- Error getting account mapping information
- Error listing account mappings
- Error creating account mapping
- Error updating account mapping
- Error deleting account mapping
- Error creating tax
- Error updating tax
- Error getting general ledger
example: Error getting account information
details:
type: object
description: Object containing the fields and their specifications
additionalProperties:
type: string
example:
field: Additional error detail
'401':
description: Unable to authenticate the client
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: Error message explaining why the request failed.
example: 'Missing required scopes: customer:create.'
example:
message: 'Missing required scopes: customer:create.'
text/html:
schema:
type: string
example: Unauthorized
'403':
description: Unable to authorize the client
'409':
description: IETF RFC 9457 Problem API compliant response
content:
application/problem+json:
schema:
oneOf:
- type: object
additionalProperties: false
required:
- type
- title
- violations
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/request-validation
title:
type: string
minLength: 1
example: Request payload validation failed.
violations:
oneOf:
- type: array
items:
type: object
example:
username:
- This value should not be blank.
email:
- This value is not a valid email address.
description: This field will be a mirrored request payload with only invalid fields and values replaced by error messages.
- type: object
example:
_:
- This value should contain at most `9` elements.
description: This field will be a mirrored request payload with only invalid fields and values replaced by error messages.
- type: object
additionalProperties: false
required:
- type
- title
- messages
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/generic-validation
title:
type: string
minLength: 1
messages:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- messages
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/conflict
title:
type: string
minLength: 1
messages:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- items
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/conflictItems
title:
type: string
minLength: 1
items:
type: array
items:
type: object
additionalProperties: false
required:
- id
- title
- messages
properties:
id:
type: integer
title:
type: string
minLength: 1
messages:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- scopes
properties:
type:
type: string
enum:
- https://developer.xentral.com/reference/problems#token-scopes
title:
type: string
minLength: 1
scopes:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- messages
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/generic-validation
title:
type: string
minLength: 1
messages:
type: object
additionalProperties:
type: array
items:
type: string
'415':
description: Resource representation send in the request is not supported.
'429':
description: Too many API calls made.
'500':
description: XGL Problem
content:
application/problem+json:
schema:
type: object
description: XGL Problem specification
properties:
type:
type: string
description: URL of the problem
example: https://api.xentral.biz/problems/xgl-error
title:
type: string
description: title of the error. It should be always XGL Error
example: XGL Error
errorCode:
type: integer
description: Error code regarding the request failure
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
example: 1
message:
type: string
description: General description about the failed request
enum:
- Error listing tax obligations
- Error creating tax obligation
- Error listing taxes
- Error getting account information
- Error getting account mapping information
- Error listing account mappings
- Error creating account mapping
- Error updating account mapping
- Error deleting account mapping
- Error creating tax
- Error updating tax
- Error getting general ledger
example: Error getting account information
details:
type: object
description: Object containing the fields and their specifications
additionalProperties:
type: string
example:
field: Additional error detail
get:
tags:
- Tax Account Mapping
operationId: taxAccountMapping.list.v1
summary: 🔒 List Tax Account Mapping Entries
description: 'This endpoint is currently in Beta and available for testing. It may contain bugs, and breaking changes can occur at any time without prior notice. We do not recommend using Beta endpoints in production environments. Should you choose to use it in production, you assume full responsibility for any resulting issues.
Retrieves a list of tax account mapping entries.'
parameters:
- name: filter
in: query
style: deepObject
description: Filter parameters
schema:
type: array
items:
type: object
additionalProperties: false
properties:
key:
type: string
enum:
- id
- accountId
- countryCode
- region
- zipCode
- isActive
- createdAt
- updatedAt
example: id
op:
type: string
enum:
- equals
- notEquals
- in
- notIn
- exactlyIn
- allIn
- allNotIn
- contains
- notContains
- startsWith
- endsWith
- greaterThan
- lessThan
- is
- lessThanOrEquals
- greaterThanOrEquals
value:
oneOf:
- type: string
description: Used for the operations 'equals', 'notEquals', 'contains', 'notContains', 'startsWith', 'endsWith' and 'is'.
title: String
- type: array
description: Used for the operations 'in', 'notIn', 'exactlyIn', 'allIn' and 'allNotIn'.
title: Array
items:
type: string
- in: query
name: page
required: false
style: deepObject
schema:
type: object
additionalProperties: false
required:
- number
- size
properties:
number:
type: string
pattern: \d+
description: Page number should be an integer greater than or equal to 1
size:
type: string
pattern: \d+
description: Page size should usually be an integer between 10 and 50.
- name: order
in: query
style: deepObject
schema:
type: array
items:
type: object
additionalProperties: false
properties:
field:
type: string
enum:
- id
- accountId
- countryCode
- region
- zipCode
- isActive
- createdAt
- updatedAt
dir:
type: string
enum:
- asc
- desc
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
data:
type: array
items:
type: object
additionalProperties: true
description: Tax account mapping entry
properties:
id:
description: Tax account mapping ID
type: string
example: '1'
name:
description: Name of the mapping
type: string
example: ''
account:
type: object
additionalProperties: true
description: Account entry
properties:
id:
description: Account ID
type: string
example: '1'
accountNumber:
description: Account number
type: string
example: '1000'
accountType:
description: Account type
type: string
maxLength: 50
example: asset
name:
description: Account name
type: string
maxLength: 100
example: Cash Account
description:
description: Account description
type: string
maxLength: 255
example: Main cash account for daily operations
isStandard:
description: Is standard account
type: boolean
example: false
deletedAt:
description: Deleted at timestamp
type: string
format: date-time
nullable: true
example: null
createdAt:
description: Created at timestamp
type: string
format: date-time
example: '2022-01-01T00:00:00Z'
updatedAt:
description: Updated at timestamp
type: string
format: date-time
example: '2022-01-01T00:00:00Z'
example:
id: '1'
accountNumber: '1000'
accountType: asset
name: Cash Account
description: Main cash account for daily operations
isStandard: false
deletedAt: null
createdAt: '2022-01-01T00:00:00Z'
updatedAt: '2022-01-01T00:00:00Z'
taxType:
type: object
additionalProperties: true
description: Tax type entry
properties:
id:
description: Tax type ID
type: string
example: '1'
name:
description: Tax type name
type: string
maxLength: 50
example: custom_tax_type
description:
description: Tax type description
type: string
maxLength: 255
nullable: true
example: Custom tax type for testing
isStandard:
description: Is standard tax type
type: boolean
example: false
createdAt:
description: Created at timestamp
type: string
format: date-time
example: '2022-01-01T00:00:00Z'
updatedAt:
description: Updated at timestamp
type: string
format: date-time
example: '2022-01-01T00:00:00Z'
example:
id: '1'
name: custom_tax_type
description: Custom tax type for testing
isStandard: false
createdAt: '2022-01-01T00:00:00Z'
updatedAt: '2022-01-01T00:00:00Z'
countryCode:
description: Country code in ISO 3166-1 alpha-2 format
type: string
example: DE
region:
description: Region
type: string
nullable: true
example: ''
zipCode:
description: ZIP code
type: string
nullable: true
example: ''
isActive:
description: Is active
type: boolean
example: true
createdAt:
description: Created at timestamp
type: string
format: date-time
example: '2022-01-01T00:00:00Z'
updatedAt:
description: Updated at timestamp
type: string
format: date-time
example: '2022-01-01T00:00:00Z'
example:
id: '2'
name: ''
account:
id: '3'
accountNumber: '1776'
accountType: tax
name: VAT Standard
description: VAT 19%
isStandard: true
deletedAt: null
createdAt: '2025-08-13T09:02:39.808Z'
updatedAt: '2025-08-13T09:02:39.808Z'
taxType:
id: '1'
name: standard
description: Standard
isStandard: true
createdAt: '2025-11-26T08:08:53.640784Z'
updatedAt: '2025-11-26T08:08:53.640784Z'
countryCode: DE
region: ''
zipCode: ''
isActive: true
createdAt: '2022-01-01T00:00:00Z'
updatedAt: '2022-01-01T00:00:00Z'
'400':
description: XGL Problem
content:
application/problem+json:
schema:
type: object
description: XGL Problem specification
properties:
type:
type: string
description: URL of the problem
example: https://api.xentral.biz/problems/xgl-error
title:
type: string
description: title of the error. It should be always XGL Error
example: XGL Error
errorCode:
type: integer
description: Error code regarding the request failure
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
example: 1
message:
type: string
description: General description about the failed request
enum:
- Error listing tax obligations
- Error creating tax obligation
- Error listing taxes
- Error getting account information
- Error getting account mapping information
- Error listing account mappings
- Error creating account mapping
- Error updating account mapping
- Error deleting account mapping
- Error creating tax
- Error updating tax
- Error getting general ledger
example: Error getting account information
details:
# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/xentral/refs/heads/main/openapi/xentral-tax-account-mapping-api-openapi.yml