Create a concept purchase invoice

Prev Next
Post
/api/v1/invoices/conceptpurchaseinvoices

Create a new concept purchase invoice.

Create a concept purchase invoice

This endpoint creates a new concept purchase invoice, a draft incoming invoice registered against an owner and a relation, the supplier, before it is finalized.

Developers call this endpoint to register a purchase invoice line by line, allocating amounts to ledger accounts, real estate objects and tax rates, and optionally to the financial period and service charge period. It is typically used by integrators who receive supplier invoices from an external source and want to load them into Bloxs as concepts for review, before they move through the approval workflow to become final purchase invoices.


Request Fields

Field

Type

Required

Description

reference

String (max 100 characters)

Required

Internal identifier for the concept purchase invoice, assigned by the caller. Used to reference the invoice in later requests.

externalIdentifier

String (max 100 characters)

Optional

External identifier supplied by the caller, used by the integrating system to reference this invoice outside Bloxs.

ownerReference

String (max 100 characters)

Required

Reference to the owner, the administration the invoice is booked against.

relationReference

String (max 100 characters)

Required

Reference to the relation, the supplier the invoice was received from.

subject

String (max 512 characters)

Optional

Free text subject describing the invoice as a whole, shown as a reference on the invoice overview.

invoiceDate

Date (ISO 8601, format YYYY-MM-DD)

Optional

Date on the incoming invoice. Example: 2026-08-14.

expiryDate

Date (ISO 8601, format YYYY-MM-DD)

Optional

Date by which the invoice is expected to be paid or settled. Example: 2026-09-14.

paymentMethod

Integer (enum)

Optional

How the invoice is settled. Allowed values: 1 = DirectDebit, 2 = BankTransfer.

fromBankAccountIban

String (max 34 characters)

Optional

IBAN of the account the payment is made from. Example: NL02ABNA0123456789.

toBankAccountIban

String (max 34 characters)

Optional

IBAN of the account the payment is made to, typically the supplier's account. Example: NL18RABO0123459876.

verifyInvoiceTotalAmount

Decimal

Optional

Total invoice amount, in major currency units, supplied by the caller. Used by Bloxs to validate against the amount calculated from the invoice lines.

financialPeriodModel.financialYear

Integer

Optional

Financial year the invoice is booked in, used as the invoice level default financial period for lines that do not specify an alternative period.

financialPeriodModel.financialIndex

Integer

Optional

Financial period index within the financial year the invoice is booked in.

financialPeriodModel.amountOfTransitoricPeriods

Integer

Optional

Number of transitoric periods used to spread the invoice amount over multiple financial periods.

serviceCostsPeriodModel.financialYear

Integer

Optional

Financial year used for service charge allocation of this invoice, independent of the general ledger booking period.

serviceCostsPeriodModel.financialIndex

Integer

Optional

Service charge period index within the service charge financial year.

serviceCostsPeriodModel.amountOfTransitoricPeriods

Integer

Optional

Number of transitoric periods used to spread the service charge allocation over multiple periods.

lines

Array of objects

Optional

The invoice lines that together build up the invoice totals. Each line can be allocated to a ledger account, a real estate object and a tax rate.

lines[].lineIndex

Integer

Optional

Sequence number of the line within the invoice.

lines[].description

String (max 512 characters)

Optional

Free text description of the line item.

lines[].ledgerAccountCode

String (max 12 characters)

Optional

Code of the ledger account the line amount is booked to.

lines[].realEstateObjectReference

String (max 100 characters)

Optional

Reference to the real estate object the line amount is allocated to, when the cost relates to a specific object.

lines[].taxRateCode

String (max 100 characters)

Optional

Code of the tax rate applied to the line, determines the VAT treatment of the line amount. Example: 5b - Te vorderen laag (9%).

lines[].amountExcl

Decimal

Optional

Line amount excluding VAT, the net amount, in major currency units.

lines[].amountVAT

Decimal

Optional

VAT amount calculated for the line, based on amountExcl and the applied tax rate. Holds an amount, not a rate.

lines[].amountIncl

Decimal

Optional

Line amount including VAT, the gross amount, in major currency units. Equals amountExcl plus amountVAT.

lines[].useAlternativeFinancialPeriod

Boolean

Optional

Indicates whether alternateFinancialPeriodModel holds the financial year and index applied to this line, as opposed to the invoice level financialPeriodModel.financialYear and financialPeriodModel.financialIndex. In the current implementation this value is always true, so alternateFinancialPeriodModel always holds the financial year and index applied to the line. This does not mean the line uses a different financial period than the invoice. The values in alternateFinancialPeriodModel can be equal to or different from financialPeriodModel.financialYear and financialPeriodModel.financialIndex at invoice level.

lines[].alternateFinancialPeriodModel.financialYear

Integer

Optional

Financial year applied to this line. Always populated, since useAlternativeFinancialPeriod is always true in the current implementation. Can be equal to or different from financialPeriodModel.financialYear at invoice level.

lines[].alternateFinancialPeriodModel.financialIndex

Integer

Optional

Financial period index applied to this line. Always populated, since useAlternativeFinancialPeriod is always true in the current implementation. Can be equal to or different from financialPeriodModel.financialIndex at invoice level.

lines[].alternateFinancialPeriodModel.amountOfTransitoricPeriods

Integer

Optional

Number of transitoric periods used to spread this line's amount over multiple financial periods.

lines[].useAlternativeServiceCostsPeriod

Boolean

Optional

Indicates whether alternateServiceCostsPeriodModel holds the service charge financial year and index applied to this line, as opposed to the invoice level serviceCostsPeriodModel.financialYear and serviceCostsPeriodModel.financialIndex. In the current implementation this value is always true, so alternateServiceCostsPeriodModel always holds the service charge financial year and index applied to the line. This does not mean the line uses a different service charge period than the invoice. The values in alternateServiceCostsPeriodModel can be equal to or different from serviceCostsPeriodModel.financialYear and serviceCostsPeriodModel.financialIndex at invoice level.

lines[].alternateServiceCostsPeriodModel.financialYear

Integer

Optional

Service charge financial year applied to this line. Always populated, since useAlternativeServiceCostsPeriod is always true in the current implementation. Can be equal to or different from serviceCostsPeriodModel.financialYear at invoice level.

lines[].alternateServiceCostsPeriodModel.financialIndex

Integer

Optional

Service charge period index applied to this line. Always populated, since useAlternativeServiceCostsPeriod is always true in the current implementation. Can be equal to or different from serviceCostsPeriodModel.financialIndex at invoice level.

lines[].alternateServiceCostsPeriodModel.amountOfTransitoricPeriods

Integer

Optional

Number of transitoric periods used to spread this line's service charge allocation when useAlternativeServiceCostsPeriod is true.


Response Fields

Field

Type

Required

Description

reference

String (max 100 characters)

Required

Internal identifier of the created concept purchase invoice.

externalIdentifier

String (max 100 characters)

Optional

External identifier of the invoice, as supplied on creation.

ownerReference

String (max 100 characters)

Required

Reference to the owner, the administration the invoice is booked against.

relationReference

String (max 100 characters)

Required

Reference to the relation, the supplier the invoice was received from.

subject

String (max 512 characters)

Optional

Subject describing the invoice as a whole.

invoiceDate

Date (ISO 8601, format YYYY-MM-DD)

Optional

Date on the invoice. Read only in the response.

expiryDate

Date (ISO 8601, format YYYY-MM-DD)

Optional

Date by which the invoice is expected to be paid or settled. Read only in the response.

paymentTermName

String

Optional

Name of the payment term applied to the invoice.

paymentMethod

Integer (enum)

Optional

How the invoice is settled. Allowed values: 1 = DirectDebit, 2 = BankTransfer, 3 = Withdrawal, 4 = Cash, 5 = iDEAL.

totalAmountExcl

Decimal

Optional

Total invoice amount excluding VAT, in major currency units. The sum of amountExcl across all lines.

totalAmountVAT

Decimal

Optional

Total VAT amount for the invoice, in major currency units. The sum of amountVAT across all lines.

totalAmountIncl

Decimal

Optional

Total invoice amount including VAT, in major currency units. Equals totalAmountExcl plus totalAmountVAT.

fromBankAccountIban

String (max 34 characters)

Optional

IBAN of the account the payment is made from.

toBankAccountIban

String (max 34 characters)

Optional

IBAN of the account the payment is made to, typically the supplier's account.

verifyInvoiceTotalAmount

Decimal

Optional

Total amount that was supplied on creation, used to validate against the calculated invoice total.

financialPeriodModel.financialYear

Integer

Optional

Financial year the invoice is booked in.

financialPeriodModel.financialIndex

Integer

Optional

Financial period index within the financial year the invoice is booked in.

financialPeriodModel.amountOfTransitoricPeriods

Integer

Optional

Number of transitoric periods the invoice amount is spread over.

serviceCostsPeriodModel.financialYear

Integer

Optional

Financial year used for service charge allocation of this invoice.

serviceCostsPeriodModel.financialIndex

Integer

Optional

Service charge period index within the service charge financial year.

serviceCostsPeriodModel.amountOfTransitoricPeriods

Integer

Optional

Number of transitoric periods the service charge allocation is spread over.

lines

Array of objects

Optional

The invoice lines that build up the invoice totals.

lines[].lineIndex

Integer

Optional

Sequence number of the line within the invoice.

lines[].description

String (max 512 characters)

Optional

Description of the line item.

lines[].ledgerAccountCode

String (max 12 characters)

Optional

Code of the ledger account the line amount is booked to.

lines[].realEstateObjectReference

String (max 100 characters)

Optional

Reference to the real estate object the line amount is allocated to.

lines[].taxRateCode

String (max 100 characters)

Optional

Code of the tax rate applied to the line.

lines[].amountExcl

Decimal

Optional

Line amount excluding VAT, the net amount, in major currency units.

lines[].amountVAT

Decimal

Optional

VAT amount for the line. Holds an amount, not a rate.

lines[].amountIncl

Decimal

Optional

Line amount including VAT, the gross amount, in major currency units. Equals amountExcl plus amountVAT.

lines[].useAlternativeFinancialPeriod

Boolean

Optional

Indicates whether alternateFinancialPeriodModel holds the financial year and index applied to this line, as opposed to the invoice level financialPeriodModel.financialYear and financialPeriodModel.financialIndex. In the current implementation this value is always true, so alternateFinancialPeriodModel always holds the financial year and index applied to the line. This does not mean the line uses a different financial period than the invoice. The values in alternateFinancialPeriodModel can be equal to or different from financialPeriodModel.financialYear and financialPeriodModel.financialIndex at invoice level.

lines[].alternateFinancialPeriodModel.financialYear

Integer

Optional

Financial year applied to this line. Always populated, since useAlternativeFinancialPeriod is always true in the current implementation. Can be equal to or different from financialPeriodModel.financialYear at invoice level.

lines[].alternateFinancialPeriodModel.financialIndex

Integer

Optional

Financial period index applied to this line. Always populated, since useAlternativeFinancialPeriod is always true in the current implementation. Can be equal to or different from financialPeriodModel.financialIndex at invoice level.

lines[].alternateFinancialPeriodModel.amountOfTransitoricPeriods

Integer

Optional

Number of transitoric periods for this line's service charge allocation when useAlternativeFinancialPeriod is true.

lines[].useAlternativeServiceCostsPeriod

Boolean

Optional

Indicates whether alternateServiceCostsPeriodModel holds the service charge financial year and index applied to this line, as opposed to the invoice level serviceCostsPeriodModel.financialYear and serviceCostsPeriodModel.financialIndex. In the current implementation this value is always true, so alternateServiceCostsPeriodModel always holds the service charge financial year and index applied to the line. This does not mean the line uses a different service charge period than the invoice. The values in alternateServiceCostsPeriodModel can be equal to or different from serviceCostsPeriodModel.financialYear and serviceCostsPeriodModel.financialIndex at invoice level.

lines[].alternateServiceCostsPeriodModel.financialYear

Integer

Optional

Service charge financial year applied to this line. Always populated, since useAlternativeServiceCostsPeriod is always true in the current implementation. Can be equal to or different from serviceCostsPeriodModel.financialYear at invoice level.

lines[].alternateServiceCostsPeriodModel.financialIndex

Integer

Optional

Service charge period index applied to this line. Always populated, since useAlternativeServiceCostsPeriod is always true in the current implementation. Can be equal to or different from serviceCostsPeriodModel.financialIndex at invoice level.

lines[].alternateServiceCostsPeriodModel.amountOfTransitoricPeriods

Integer

Optional

Number of transitoric periods for this line's service charge allocation when useAlternativeServiceCostsPeriod is true.

Security
Body parameters
Expand All
object
reference
string Required
Min length0
Max length100
externalIdentifier
string | null
Min length0
Max length100
ownerReference
string Required
Min length0
Max length100
relationReference
string Required
Min length0
Max length100
subject
string | null
Min length0
Max length512
invoiceDate
string (date)
expiryDate
string (date) | null
paymentMethod
integer (int32) | null

DirectDebit = 1 BankTransfer = 2 Withdrawal = 3 Cash = 4 iDEAL = 5

fromBankAccountIban
string | null
Min length0
Max length34
toBankAccountIban
string | null
Min length0
Max length34
verifyInvoiceTotalAmount
number (double) | null
financialPeriodModel
object (InvoiceBookingPeriodInfoAPIModel)
financialYear
integer (int32)
financialIndex
integer (int32)
amountOfTransitoricPeriods
integer (int32) | null
serviceCostsPeriodModel
object (InvoiceBookingPeriodInfoAPIModel)
financialYear
integer (int32)
financialIndex
integer (int32)
amountOfTransitoricPeriods
integer (int32) | null
lines
Array of object (ConceptPurchaseInvoiceLineAPIModel) | null
object
lineIndex
integer (int32)
description
string | null
Min length0
Max length512
ledgerAccountCode
string | null
Min length0
Max length12
realEstateObjectReference
string | null
Min length0
Max length100
taxRateCode
string | null
Min length0
Max length100
amountExcl
number (double) | null
amountVAT
number (double) | null
amountIncl
number (double) | null
useAlternativeFinancialPeriod
boolean
alternateFinancialPeriodModel
object (InvoiceBookingPeriodInfoAPIModel)
financialYear
integer (int32)
financialIndex
integer (int32)
amountOfTransitoricPeriods
integer (int32) | null
useAlternativeServiceCostsPeriod
boolean
alternateServiceCostsPeriodModel
object (InvoiceBookingPeriodInfoAPIModel)
financialYear
integer (int32)
financialIndex
integer (int32)
amountOfTransitoricPeriods
integer (int32) | null
Responses
200

The concept purchase invoice was created

Expand All
object
reference
string
Min length0
Max length100
externalIdentifier
string | null
Min length0
Max length100
ownerReference
string
Min length0
Max length100
relationReference
string
Min length0
Max length100
subject
string | null
Min length0
Max length512
invoiceDate
string (date) | null
expiryDate
string (date) | null
paymentTermName
string | null
paymentMethod
integer (int32) | null

DirectDebit = 1 BankTransfer = 2 Withdrawal = 3 Cash = 4 iDEAL = 5

totalAmountExcl
number (double) | null
totalAmountVAT
number (double) | null
totalAmountIncl
number (double) | null
fromBankAccountIban
string | null
Min length0
Max length34
toBankAccountIban
string | null
Min length0
Max length34
verifyInvoiceTotalAmount
number (double) | null
financialPeriodModel
object (InvoiceBookingPeriodInfoAPIModel)
financialYear
integer (int32)
financialIndex
integer (int32)
amountOfTransitoricPeriods
integer (int32) | null
serviceCostsPeriodModel
object (InvoiceBookingPeriodInfoAPIModel)
financialYear
integer (int32)
financialIndex
integer (int32)
amountOfTransitoricPeriods
integer (int32) | null
lines
Array of object (ConceptPurchaseInvoiceLineAPIModel) | null
object
lineIndex
integer (int32)
description
string | null
Min length0
Max length512
ledgerAccountCode
string | null
Min length0
Max length12
realEstateObjectReference
string | null
Min length0
Max length100
taxRateCode
string | null
Min length0
Max length100
amountExcl
number (double) | null
amountVAT
number (double) | null
amountIncl
number (double) | null
useAlternativeFinancialPeriod
boolean
alternateFinancialPeriodModel
object (InvoiceBookingPeriodInfoAPIModel)
financialYear
integer (int32)
financialIndex
integer (int32)
amountOfTransitoricPeriods
integer (int32) | null
useAlternativeServiceCostsPeriod
boolean
alternateServiceCostsPeriodModel
object (InvoiceBookingPeriodInfoAPIModel)
financialYear
integer (int32)
financialIndex
integer (int32)
amountOfTransitoricPeriods
integer (int32) | null
400

The concept purchase invoice data has validation issues

Expand All
object
type
string | null
title
string | null
traceId
string | null
status
integer (int32)
errors
object | null
property*
Array of string | null additionalProperties
string