{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/BillV20250623",
"title": "Bill (ver 2025-06-23)",
"required": [
"AccountId",
"AccountType",
"AssociatedAccountIds",
"CorrectionState",
"CreatedUtc",
"EnterpriseId",
"Id",
"State",
"Type",
"UpdatedUtc"
],
"type": "object",
"properties": {
"Id": {
"type": "string",
"description": "Unique identifier of the bill.",
"format": "uuid"
},
"Name": {
"type": "string",
"description": "Name of the bill.",
"nullable": true
},
"EnterpriseId": {
"type": "string",
"description": "Unique identifier of the `Enterprise`.",
"format": "uuid"
},
"AccountId": {
"type": "string",
"description": "Unique identifier of the account (`Customer` or `Company`) the bill is issued to.",
"format": "uuid"
},
"AccountType": {
"title": "Account type",
"allOf": [
{
"$ref": "#/components/schemas/AccountTypeEnum"
}
],
"description": "A discriminator specifying the account type, i.e. `Customer` or `Company`.\n\nCompany\n\nCustomer",
"x-enumNames": [
"Company",
"Customer"
],
"x-enumDescriptions": [
"",
""
]
},
"AssociatedAccountIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"description": "Unique identifiers of the `Customers` or `Companies` that are associated to the bill.",
"nullable": true
},
"CounterId": {
"type": "string",
"description": "Unique identifier of the bill `Counter`.",
"format": "uuid",
"nullable": true
},
"State": {
"$ref": "#/components/schemas/BillState"
},
"Type": {
"$ref": "#/components/schemas/BillType"
},
"Number": {
"type": "string",
"description": "Number of the bill.",
"nullable": true
},
"VariableSymbol": {
"type": "string",
"description": "Variable symbol of the bill.",
"nullable": true
},
"CreatedUtc": {
"minLength": 1,
"type": "string",
"description": "Date and time of the bill creation in UTC timezone in ISO 8601 format.",
"format": "date-time"
},
"UpdatedUtc": {
"minLength": 1,
"type": "string",
"description": "Date and time when the bill was last updated, in UTC timezone in ISO 8601 format.",
"format": "date-time"
},
"IssuedUtc": {
"type": "string",
"description": "Date and time of the bill issuance in UTC timezone in ISO 8601 format.",
"format": "date-time",
"nullable": true
},
"TaxedUtc": {
"type": "string",
"description": "Taxation date of the bill in UTC timezone in ISO 8601 format.",
"format": "date-time",
"nullable": true
},
"PaidUtc": {
"type": "string",
"description": "Date when the bill was paid in UTC timezone in ISO 8601 format.",
"format": "date-time",
"nullable": true
},
"DueUtc": {
"type": "string",
"description": "Bill due date and time in UTC timezone in ISO 8601 format.",
"format": "date-time",
"nullable": true
},
"LastReminderDateUtc": {
"type": "string",
"description": "Date and time when an email reminder to pay an invoice was last sent, in UTC timezone in ISO 8601 format.",
"format": "date-time",
"nullable": true
},
"PurchaseOrderNumber": {
"type": "string",
"description": "Unique number of the purchase order from the buyer.",
"nullable": true
},
"Notes": {
"type": "string",
"description": "Additional notes.",
"nullable": true
},
"Options": {
"title": "Bill options",
"allOf": [
{
"$ref": "#/components/schemas/BillOptions"
}
],
"description": "Options of the bill.",
"nullable": true
},
"Owner": {
"title": "Bill owner data",
"allOf": [
{
"$ref": "#/components/schemas/BillAccountData"
}
],
"description": "Additional information about owner of the bill. Can be a `Customer` or `Company`. Persisted at the time of closing of the bill.",
"nullable": true
},
"AssociatedAccountsData": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BillAccountData"
},
"description": "Additional information about the associated account of the bill. Can be a `Customer` or `Company`. Persisted at the time of closing of the bill. Currently only one account can be associated with a bill, but this may be extended in future.",
"nullable": true
},
"EnterpriseData": {
"title": "Bill enterprise data",
"allOf": [
{
"$ref": "#/components/schemas/BillEnterpriseData"
}
],
"description": "Additional information about the enterprise issuing the bill, including bank account details. Persisted at the time of closing of the bill.",
"nullable": true
},
"CorrectionState": {
"title": "Bill correction state",
"allOf": [
{
"$ref": "#/components/schemas/BillCorrectionStateEnum"
}
],
"description": "Whether the bill is a regular bill or a corrective bill.\n\nBill (Regular bill.)\n\nCorrectiveBill (Corrective bill, i.e. the `CorrectionType` is either `Edit`, `Cancellation`, or `ReceivablePaymentsBalance`.)",
"x-enumNames": [
"Bill",
"CorrectiveBill"
],
"x-enumDescriptions": [
"Regular bill.",
"Corrective bill, i.e. the `CorrectionType` is either `Edit`, `Cancellation`, or `ReceivablePaymentsBalance`."
]
},
"CorrectionType": {
"allOf": [
{
"$ref": "#/components/schemas/BillCorrectionTypeEnum"
}
],
"description": "Type of correction.\n\nCancellation\n\nEdit\n\nCreditNote\n\nReinstatement\n\nReceivablePaymentsBalance",
"nullable": true
},
"CorrectedBillId": {
"type": "string",
"description": "The ID of the bill that the corrective bill corrects. If the corrected bill was deleted, this field is `null`.",
"format": "uuid",
"nullable": true
}
},
"additionalProperties": false,
"x-schema-id": "BillV20250623"
}