Xentral Liability API
Returns a collection with all liabilities.
Returns a collection with all liabilities.
openapi: 3.0.0
info:
title: Xentral Account Liability 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: Liability
description: Returns a collection with all liabilities.
paths:
/api/v1/liabilities:
post:
tags:
- Liability
operationId: liability.create
summary: Create liability
description: Creates a single new liability.
requestBody:
description: Create a liability object
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- supplier
properties:
date:
x-description-missing: true
type: string
format: date
nullable: true
supplier:
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
description: Supplier reference
supplierInvoiceNumber:
type: string
description: The invoice number issued by the supplier
receiptDate:
description: The date when the supplier invoice was received by the recipient
type: string
format: date-time
nullable: true
serviceDate:
description: The date on which the service was provided
type: string
format: date
nullable: true
status:
description: Workflow status of the liability
type: string
nullable: false
enum:
- open
- paid
example: open
clarificationCase:
type: boolean
description: A boolean flag to mark the liability as a clarification case, e.g. to check the deferred account assignments or open questions
clarificationReason:
type: string
description: A string that specifies the reason or justification provided for the clarification case in the liability process.
release:
type: boolean
description: A boolean flag with which the goods delivery is confirmed as complete and the traffic light is switched to green.
invoiceRelease:
type: boolean
description: A boolean flag with which the accounting check of the incoming document is confirmed as complete and correct for tax purposes and the traffic light is switched to green.
internalComment:
type: string
description: A text field for adding internal comments or notes related to the liability, not visible to external parties.
financials:
type: object
additionalProperties: false
description: financial information
example:
amountGross:
amount: '100.0'
currency: EUR
amountNet:
amount: '90.0'
currency: EUR
freightCharge: 10
taxation: VAT
taxes:
normalTax:
rate: 19
amount: 19
reducedTax:
rate: 7
amount: 7
customTax1:
rate: 8.1
amount: 50.5
customTax2:
rate: 10
amount: 50.5
paymentTerms:
dueDate: '2020-01-31'
earlyPaymentDate: '2020-01-15'
earlyPaymentDiscount: 2
earlyPaymentDiscountAmount: 2
bookingText: Liability booking text
payment:
methodName: Bank transfer
paidAmount: 100
paidOnDate: '2020-01-01'
discountReceived: 2
glAccount: '123456'
costCenter: '123456'
properties:
amountGross:
description: Money object with amount and currency
example:
amount: '13.37'
currency: EUR
type: object
additionalProperties: false
properties:
amount:
description: A string representing the amount
type: string
format: float
example: '24.99'
currency:
type: string
pattern: '[A-Z]{3}'
enum:
- EUR
- USD
- JPY
- BGN
- CZK
- DKK
- GBP
- HUF
- PLN
- RON
- SEK
- CHF
- ISK
- NOK
- HRK
- RUB
- TRY
- AUD
- BRL
- CAD
- CNY
- HKD
- IDR
- ILS
- INR
- KRW
- MXN
- MYR
- NZD
- PHP
- SGD
- THB
- ZAR
- ARS
- CLP
- SAR
- AED
- QAR
description: Currency matches one of currency values as specified in ISO-4217.
example: PLN
amountNet:
description: Money object with amount and currency
example:
amount: '13.37'
currency: EUR
type: object
additionalProperties: false
properties:
amount:
description: A string representing the amount
type: string
format: float
example: '24.99'
currency:
type: string
pattern: '[A-Z]{3}'
enum:
- EUR
- USD
- JPY
- BGN
- CZK
- DKK
- GBP
- HUF
- PLN
- RON
- SEK
- CHF
- ISK
- NOK
- HRK
- RUB
- TRY
- AUD
- BRL
- CAD
- CNY
- HKD
- IDR
- ILS
- INR
- KRW
- MXN
- MYR
- NZD
- PHP
- SGD
- THB
- ZAR
- ARS
- CLP
- SAR
- AED
- QAR
description: Currency matches one of currency values as specified in ISO-4217.
example: PLN
freightCharge:
type: number
format: float
description: Freight costs
taxation:
x-description-missing: true
type: string
taxes:
type: object
additionalProperties: false
properties:
normalTax:
type: object
additionalProperties: false
nullable: true
properties:
rate:
type: number
description: percentual rate
amount:
type: number
format: float
description: absolut amount
reducedTax:
type: object
additionalProperties: false
nullable: true
properties:
rate:
type: number
description: percentual rate
amount:
type: number
format: float
description: absolut amount
customTax1:
type: object
additionalProperties: false
nullable: true
properties:
rate:
type: number
description: percentual rate
amount:
type: number
format: float
description: absolut amount
customTax2:
type: object
additionalProperties: false
nullable: true
properties:
rate:
type: number
description: percentual rate
amount:
type: number
format: float
description: absolut amount
paymentTerms:
x-description-missing: true
type: object
additionalProperties: false
properties:
dueDate:
type: string
format: date
nullable: true
earlyPaymentDate:
type: string
format: date
nullable: true
earlyPaymentDiscount:
type: number
format: float
earlyPaymentDiscountAmount:
type: number
format: float
bookingText:
description: header booking text
type: string
payment:
type: object
additionalProperties: false
properties:
methodName:
x-description-missing: true
type: string
paidAmount:
type: number
format: float
paidOnDate:
type: string
format: date
nullable: true
discountReceived:
type: number
format: float
description: payment information
glAccount:
type: string
nullable: true
description: ledger account
costCenter:
type: string
nullable: true
description: cost center
assignedPurchaseOrders:
x-description-missing: true
type: array
nullable: true
items:
type: object
additionalProperties: false
required:
- id
- project
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
number:
type: string
amountGross:
type: number
format: float
amountNet:
type: number
format: float
project:
type: object
additionalProperties: false
description: related project ID
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
salesOrder:
type: object
nullable: true
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
costCenter:
type: string
bookingText:
description: header booking text
type: string
project:
type: object
additionalProperties: false
description: related project ID
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
accounting:
type: array
items:
type: object
additionalProperties: false
properties:
glAccount:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
bookingText:
type: string
description: 1st accounting entry text
amount:
description: Money object with amount and currency
example:
amount: '13.37'
currency: EUR
type: object
additionalProperties: false
properties:
amount:
description: A string representing the amount
type: string
format: float
example: '24.99'
currency:
type: string
pattern: '[A-Z]{3}'
enum:
- EUR
- USD
- JPY
- BGN
- CZK
- DKK
- GBP
- HUF
- PLN
- RON
- SEK
- CHF
- ISK
- NOK
- HRK
- RUB
- TRY
- AUD
- BRL
- CAD
- CNY
- HKD
- IDR
- ILS
- INR
- KRW
- MXN
- MYR
- NZD
- PHP
- SGD
- THB
- ZAR
- ARS
- CLP
- SAR
- AED
- QAR
description: Currency matches one of currency values as specified in ISO-4217.
example: PLN
tax:
type: object
description: percentual tax rate
additionalProperties: false
properties:
rate:
type: number
format: float
costCenter:
type: string
paymentTerms:
x-description-missing: true
type: object
additionalProperties: false
properties:
dueDate:
type: string
format: date
nullable: true
earlyPaymentDate:
type: string
format: date
nullable: true
earlyPaymentDiscount:
type: number
format: float
payment:
type: object
additionalProperties: false
properties:
methodName:
x-description-missing: true
type: string
paidAmount:
type: number
format: float
paidOnDate:
type: string
format: date
nullable: true
discountReceived:
type: number
format: float
description: payment information
positions:
type: array
items:
type: object
additionalProperties: false
required:
- product
- price
- tax
properties:
sort:
description: The position of the position in the list
type: number
minimum: 0
number:
type: string
purchaseOrder:
type: object
additionalProperties: false
nullable: true
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
product:
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
supplierProductNumber:
type: string
deliveryDate:
description: The date the position was delivered
type: string
format: date
nullable: true
quantity:
description: The quantity of the position
type: number
minimum: 0
unit:
type: string
packagingUnit:
type: string
price:
description: Money object with amount and currency
example:
amount: '13.37'
currency: EUR
type: object
additionalProperties: false
properties:
amount:
description: A string representing the amount
type: string
format: float
example: '24.99'
currency:
type: string
pattern: '[A-Z]{3}'
enum:
- EUR
- USD
- JPY
- BGN
- CZK
- DKK
- GBP
- HUF
- PLN
- RON
- SEK
- CHF
- ISK
- NOK
- HRK
- RUB
- TRY
- AUD
- BRL
- CAD
- CNY
- HKD
- IDR
- ILS
- INR
- KRW
- MXN
- MYR
- NZD
- PHP
- SGD
- THB
- ZAR
- ARS
- CLP
- SAR
- AED
- QAR
description: Currency matches one of currency values as specified in ISO-4217.
example: PLN
costCenter:
type: string
tax:
type: object
additionalProperties: false
required:
- rate
properties:
vatCategory:
description: The category of the value added tax
type: string
rate:
description: Tax rate in percent
type: number
format: float
minimum: 0
nullable: false
taxText:
type: string
nullable: true
examples:
create liability:
value:
date: '2024-01-01'
supplier:
id: '123456'
supplierInvoiceNumber: '123456'
receiptDate: '2024-01-01T12:00:00Z'
status: open
clarificationCase: true
clarificationReason: Awaiting customer confirmation on pricing details.
release: true
invoiceRelease: false
internalComment: Priority customer. Expedite processing once clarification is received.
financials:
amountGross:
amount: '100.0'
currency: EUR
freightCharge: 10
taxation: VAT
taxes:
normalTax:
rate: 19
amount: 19
reducedTax:
rate: 7
amount: 7
customTax1:
rate: 8.1
amount: 50.5
customTax2:
rate: 10
amount: 50.5
paymentTerms:
dueDate: '2020-01-31'
earlyPaymentDate: '2020-01-15'
earlyPaymentDiscount: 2
bookingText: Liability booking text
payment:
methodName: Bank transfer
paidAmount: 100
paidOnDate: '2020-01-01'
discountReceived: 2
glAccount: '123456'
costCenter: '123456'
assignedPurchaseOrders:
- id: '123456'
number: '123456'
amountGross: 100
amountNet: 100
project:
id: '123456'
salesOrder:
id: '123456'
costCenter: '123456'
bookingText: Liability booking text
project:
id: '123456'
accounting:
- glAccount: '123456'
bookingText: Liability booking text
amount:
amount: '100.0'
currency: EUR
tax:
rate: 19
costCenter: '123456'
paymentTerms:
dueDate: '2020-01-31'
earlyPaymentDate: '2020-01-15'
positions:
- sort: 1
number: '123456'
purchaseOrder:
id: '123456'
product:
id: '123456'
supplierProductNumber: '123456'
deliveryDate: '2024-01-01'
quantity: 1
unit: pcs
packagingUnit: pcs
price:
amount: '100.0'
currency: EUR
costCenter: '123456'
tax:
vatCategory: 19%
rate: 19
taxText: VAT 19%
responses:
'201':
description: Resource successfully created response
headers:
Location:
schema:
type: string
example: https://example.xentral.biz/api/users/17
description: URI of the created resource
content:
text/html:
schema:
type: string
enum:
- ''
nullable: true
'400':
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:
# --- truncated at 32 KB (126 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/xentral/refs/heads/main/openapi/xentral-liability-api-openapi.yml