Download OpenAPI specification:
Rise API for Rise Bank backend services.
Consistency notes for frontend:
data and meta fields.Authorization:
Glossary:
source: How a purchase invoice was received ('manual' or 'einvoice').invoice_channel: Channel describing how a sales invoice was received (sales invoices).invoicing_channel: Channel describing how an invoice will be sent (sales invoices).bank_account_id: Receiving bank account for sales invoices. For purchase invoices, bank accounts are specified on payment records, not invoices.delegated_by_user_id: User who delegated a purchase invoice to its current assignee.current_assignee_user_id: User currently responsible for acting on a purchase invoice.Retrieve list of available banks from Enable Banking
| country | string = 2 characters Example: country=FI Country code to filter banks (default: FI) |
{- "country": "string",
- "banks": [
- {
- "name": "string",
- "country": "string",
- "logo_url": "string",
- "psu_types": [
- "string"
], - "max_consent_validity": 0,
- "max_transactions": 0,
- "currencies": [
- "string"
]
}
]
}Retrieve bank accounts for a company with latest authorization status
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "iban": "string",
- "bic": "string",
- "display_name": "string",
- "aspsp_name": "string",
- "currency": "str",
- "status": "active",
- "authorization_valid_until": "2019-08-24T14:15:22Z",
- "balance": {
- "available": "string",
- "booked": "string"
}
}
], - "meta": {
- "count": -9007199254740991
}
}Retrieve bank account details with authorization status
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| bankAccountId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Bank account ID |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "iban": "string",
- "bic": "string",
- "account_holder_name": "string",
- "display_name": "string",
- "aspsp_name": "string",
- "currency": "str",
- "status": "active",
- "authorization_valid_until": "2019-08-24T14:15:22Z",
- "balance": {
- "available": "string",
- "booked": "string"
}
}
}Update bank account display name
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| bankAccountId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Bank account ID |
Bank account update data
required | string or null |
{- "display_name": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "iban": "string",
- "bic": "string",
- "account_holder_name": "string",
- "display_name": "string",
- "aspsp_name": "string",
- "currency": "str",
- "status": "active",
- "authorization_valid_until": "2019-08-24T14:15:22Z",
- "balance": {
- "available": "string",
- "booked": "string"
}
}
}Revoke authorization for a bank account, stopping automatic transaction syncing while preserving all account and transaction history
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| bankAccountId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Bank account ID |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "iban": "string",
- "bic": "string",
- "account_holder_name": "string",
- "display_name": "string",
- "aspsp_name": "string",
- "currency": "str",
- "status": "active",
- "authorization_valid_until": "2019-08-24T14:15:22Z",
- "balance": {
- "available": "string",
- "booked": "string"
}
}
}Retrieve transactions across all bank accounts for a company
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| bank_account_id | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Filter by bank account ID |
| limit | integer [ 1 .. 100 ] Example: limit=10 Maximum number of results to return (1-100, default: 10) |
| cursor | string Pagination cursor from previous response |
{- "data": [
- {
- "id": "string",
- "bank_booking_date": "2019-08-24",
- "value_date": "2019-08-24",
- "amount": "string",
- "currency": "string",
- "counterparty_name": "string",
- "counterparty_iban": "string",
- "filing_id": "string",
- "status": "draft",
- "reference_number": "string",
- "remittance_information": [
- "string"
], - "created_at": "2019-08-24T14:15:22Z",
- "unsettled_amount": "string",
- "reconciliation_attempted_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "pagination": {
- "limit": -9007199254740991,
- "has_more": true,
- "next_cursor": "string"
}
}
}Retrieve transaction details for a company
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| transactionId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Transaction ID |
{- "data": {
- "id": "string",
- "upstream_id": "string",
- "company_id": "string",
- "bank_account_id": "string",
- "counterparty_name": "string",
- "status": "draft",
- "reference_number": "string",
- "remittance_information": [
- "string"
], - "amount": "string",
- "unsettled_amount": "string",
- "currency": "string",
- "description": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "counterparty_iban": "string",
- "bank_booking_date": "2019-08-24",
- "value_date": "2019-08-24",
- "filing_id": "string",
- "reconciliation_attempted_at": "2019-08-24T14:15:22Z"
}
}Retrieve company details including settings and bank accounts
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "settings": {
- "default_receive_bank_account_id": "4e105562-cb3e-4d88-8da0-44cb487c3051"
}, - "accounts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_holder_name": "string",
- "iban": "string",
- "bic": "string",
- "currency_code": "string"
}
]
}Create a new company
Company creation data
| name required | string |
| business_id required | string |
object | |
| default_locale | string Enum: "fi-FI" "en-US" |
{- "name": "string",
- "business_id": "string",
- "address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "st"
}, - "default_locale": "fi-FI"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "business_id": "string"
}Publish company information to Netbox system. Only admins can update company status.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "is_created_in_netbox": true
}Returns a tree of documents related to the specified document via settlements. The depth parameter controls how many levels of relationships to include (1-3). Documents are connected through settlements, showing the network of documents that have been settled together.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| documentId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Document ID |
| depth | integer [ 1 .. 3 ] Relationship tree depth (1-3, default: 1) |
[- {
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "type": "bank_transaction",
- "voucher_number": "string",
- "amount": "string",
- "currency": "string",
- "relationships": [
- {
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "type": "bank_transaction",
- "voucher_number": "string",
- "amount": "string",
- "currency": "string",
- "relationships": [
- {
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "type": "bank_transaction",
- "voucher_number": "string",
- "amount": "string",
- "currency": "string",
- "relationships": [
- null
]
}
]
}
]
}
]Create a new expense claim document with line items and optional file attachments.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
Expense claim creation data
| expense_date required | string <date> ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[... Expense date (YYYY-MM-DD) |
| description required | string non-empty Expense claim description |
| payment_method required | string Enum: "user_paid" "company_card" Payment method |
| expense_type required | string Value: "travel_costs" Expense type |
| currency_code required | string = 3 characters Currency code (e.g., EUR) |
required | Array of objects non-empty Expense claim lines |
| files | Array of strings <uuid> [ items <uuid >^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... ] Optional array of file IDs to attach |
{- "expense_date": "2019-08-24",
- "description": "string",
- "payment_method": "user_paid",
- "expense_type": "travel_costs",
- "currency_code": "str",
- "lines": [
- {
- "title": "string",
- "amount": "string",
- "vat_rate": "string"
}
], - "files": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "expense_date": "2019-08-24",
- "description": "string",
- "payment_method": "user_paid",
- "expense_type": "travel_costs",
- "currency_code": "string",
- "amount": "string",
- "status": "draft",
- "lines": [
- {
- "id": "string",
- "title": "string",
- "amount": "string",
- "vat_rate": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Retrieve expense claim details by ID
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| expenseClaimId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Expense claim ID (document ID) |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "expense_date": "2019-08-24",
- "description": "string",
- "payment_method": "user_paid",
- "expense_type": "travel_costs",
- "currency_code": "string",
- "amount": "string",
- "status": "draft",
- "lines": [
- {
- "id": "string",
- "title": "string",
- "amount": "string",
- "vat_rate": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Partially update an expense claim. When lines or files are provided they replace existing ones and total amount is recalculated. Updates are allowed only while the document is in draft status.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| expenseClaimId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Expense claim ID (document ID) |
Expense claim update data (partial updates supported)
| expense_date | string <date> ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[... Expense date (YYYY-MM-DD) |
| description | string non-empty Expense claim description |
| payment_method | string Enum: "user_paid" "company_card" Payment method |
| expense_type | string Value: "travel_costs" Expense type |
| currency_code | string = 3 characters Currency code (e.g., EUR) |
Array of objects Expense claim lines (replaces existing lines when provided; pass an empty array to clear all lines) | |
| files | Array of strings <uuid> [ items <uuid >^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... ] Optional array of file IDs to attach (replaces existing files when provided) |
{- "expense_date": "2019-08-24",
- "description": "string",
- "payment_method": "user_paid",
- "expense_type": "travel_costs",
- "currency_code": "str",
- "lines": [
- {
- "title": "string",
- "amount": "string",
- "vat_rate": "string"
}
], - "files": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "expense_date": "2019-08-24",
- "description": "string",
- "payment_method": "user_paid",
- "expense_type": "travel_costs",
- "currency_code": "string",
- "amount": "string",
- "status": "draft",
- "lines": [
- {
- "id": "string",
- "title": "string",
- "amount": "string",
- "vat_rate": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Create a new file and optionally attach it to a document
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
File creation data
| original_filename required | string |
| document_id | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... |
{- "original_filename": "string",
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
- "original_filename": "string",
- "s3_path": "string",
- "ref_file_id": "4e2990c8-5744-4c5c-bc59-f31c1bdb1a8d",
- "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
- "type": "string",
- "status": "string",
- "source": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "metadata": {
- "status": "processing",
- "data": {
- "document_type": "receipt",
- "counterparty_name": "string",
- "document_date": "2019-08-24",
- "document_reference": "string",
- "total_amount_gross": "string",
- "total_amount_net": "string",
- "total_amount_vat": "string",
- "currency": "string",
- "payment_method": "cash",
- "line_items": [
- {
- "title": "string",
- "quantity": "string",
- "unit_price_gross": "string",
- "amount_gross": "string",
- "vat_rate": "string",
- "amount_vat": "string"
}
], - "confidence_score": "string"
}, - "error": "FILE_TYPE_NOT_SUPPORTED"
},
}List files for a company. By default, excludes files with upload_pending status.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| status | string (FileStatus) Enum: "upload_pending" "process_pending" "process_completed" "process_failed" "process_skipped" "all" Example: status=process_completed Filter by file status. By default, upload_pending files are excluded. Use "all" to include them. |
| offset | integer [ 0 .. 9007199254740991 ] Number of results to skip for pagination |
| limit | integer [ 1 .. 100 ] Example: limit=10 Maximum number of results to return |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "original_filename": "string",
- "type": "string",
- "status": "string",
- "source": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "count": -9007199254740991,
- "offset": -9007199254740991,
- "limit": -9007199254740991
}
}Retrieve file details including presigned download URL
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| fileId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... File ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
- "original_filename": "string",
- "s3_path": "string",
- "ref_file_id": "4e2990c8-5744-4c5c-bc59-f31c1bdb1a8d",
- "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
- "type": "string",
- "status": "string",
- "source": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "metadata": {
- "status": "processing",
- "data": {
- "document_type": "receipt",
- "counterparty_name": "string",
- "document_date": "2019-08-24",
- "document_reference": "string",
- "total_amount_gross": "string",
- "total_amount_net": "string",
- "total_amount_vat": "string",
- "currency": "string",
- "payment_method": "cash",
- "line_items": [
- {
- "title": "string",
- "quantity": "string",
- "unit_price_gross": "string",
- "amount_gross": "string",
- "vat_rate": "string",
- "amount_vat": "string"
}
], - "confidence_score": "string"
}, - "error": "FILE_TYPE_NOT_SUPPORTED"
},
}Delete a file
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| fileId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... File ID |
{- "error": "Resource not found",
- "debug": "Sales invoice not found",
- "timestamp": "2024-01-15T10:30:00Z"
}List files created by the authenticated user
| status | string (FileStatus) Enum: "upload_pending" "process_pending" "process_completed" "process_failed" "process_skipped" "all" Example: status=process_completed Filter by file status. By default, upload_pending files are excluded. Use "all" to include them. |
| offset | integer [ 0 .. 9007199254740991 ] Number of results to skip for pagination |
| limit | integer [ 1 .. 100 ] Example: limit=10 Maximum number of results to return |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "original_filename": "string",
- "type": "string",
- "status": "string",
- "source": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "count": -9007199254740991,
- "offset": -9007199254740991,
- "limit": -9007199254740991
}
}Create a new fiscal period for a company
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
Fiscal period creation data
| start_date required | string <date> ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[... Start date of the fiscal period (YYYY-MM-DD) |
| end_date required | string <date> ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[... End date of the fiscal period (YYYY-MM-DD) |
| is_closed | boolean Whether the fiscal period is closed (defaults to false) |
string or null Lock date for the fiscal period (YYYY-MM-DD) |
{- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "is_closed": true,
- "lock_date": "2019-08-24"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "is_closed": true,
- "lock_date": "2019-08-24",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Retrieve all fiscal periods for a company with optional filtering
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| is_closed | boolean Filter by closed status |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "is_closed": true,
- "lock_date": "2019-08-24",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}Retrieve fiscal period details
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| fiscalPeriodId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Fiscal period ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "is_closed": true,
- "lock_date": "2019-08-24",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Update fiscal period details
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| fiscalPeriodId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Fiscal period ID |
Fiscal period update data. Note: is_closed cannot be modified after creation.
| start_date | string <date> ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[... Start date of the fiscal period (YYYY-MM-DD) |
| end_date | string <date> ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[... End date of the fiscal period (YYYY-MM-DD) |
string or null Lock date for the fiscal period (YYYY-MM-DD) |
{- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "lock_date": "2019-08-24"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "is_closed": true,
- "lock_date": "2019-08-24",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Delete a fiscal period (only open periods can be deleted)
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| fiscalPeriodId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Fiscal period ID |
{- "error": "Invalid input",
- "debug": "Validation failed for field 'invoice_date'",
- "timestamp": "2024-01-15T10:30:00Z"
}Get current user info including roles and permissions
{- "user": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "email": "user@example.com"
}, - "permissions": [
- {
- "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
- "company_name": "string",
- "role": "admin"
}
]
}Retrieve general ledger accounts with filtering, pagination, and i18n-resolved names. Supports filtering by type, code (exact/range), currency, and text search on account names.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| type | string (GeneralLedgerAccountType) Enum: "asset" "liability" "equity" "revenue" "expense" Example: type=asset Filter by account type |
| code | string non-empty Example: code=1000 Filter by exact account code |
| code_from | string non-empty Example: code_from=1000 Filter by account code range (from) |
| code_to | string non-empty Example: code_to=2000 Filter by account code range (to) |
| currency | string = 3 characters Example: currency=EUR Filter by currency code |
| query | string non-empty Example: query=cash Text search on account names (partial match) |
| limit | integer [ 1 .. 100 ] Example: limit=10 Maximum number of results to return (1-100) |
| offset | integer [ 0 .. 9007199254740991 ] Number of results to skip for pagination |
| locale | string = 2 characters ^[a-z]{2}$ Example: locale=en Locale for i18n name resolution (e.g., "en", "fi", "sv") |
| include_balances | boolean Example: include_balances=true Include balance information for accounts (requires from_date and to_date) |
| from_date | string^\d{4}-\d{2}-\d{2}$ Example: from_date=2024-01-01 Start date for balance calculation (ISO date format: YYYY-MM-DD). Required when include_balances=true. |
| to_date | string^\d{4}-\d{2}-\d{2}$ Example: to_date=2024-12-31 End date for balance calculation (ISO date format: YYYY-MM-DD). Required when include_balances=true. |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "code": "string",
- "parent_code": "string",
- "name": "string",
- "type": "asset",
- "currency": "string",
- "is_active": true,
- "i18n_group_id": "b9f52139-56f9-42ad-a35a-2ddb4484a320",
- "balances": {
- "currency": "string",
- "from_date": "string",
- "to_date": "string",
- "opening_balance": "string",
- "period_debit": "string",
- "period_credit": "string",
- "closing_balance": "string"
}
}
], - "meta": {
- "total": -9007199254740991,
- "limit": -9007199254740991,
- "offset": -9007199254740991
}
}Retrieve a single general ledger account by its code
| code required | string [ 1 .. 20 ] characters ^[A-Za-z0-9_-]+$ Example: 1000 Account code (e.g., "1000", "2000") |
| locale | string [ 2 .. 5 ] characters ^[a-z]{2}(-[A-Z]{2})?$ Example: locale=en Locale for i18n name and description resolution (e.g., "en", "fi", "en-US") |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "code": "string",
- "name": "string",
- "description": "string",
- "type": "asset",
- "currency": "string",
- "is_active": true,
- "i18n_group_id": "b9f52139-56f9-42ad-a35a-2ddb4484a320",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Retrieve general ledger lines with filtering and pagination. Supports filtering by GL account code, voucher, and posting date range. Opening balance and running balance are automatically included for account-wide queries (when account_code is provided and voucher_id is not provided) - they are always present regardless of from_date. When from_date is specified, opening balance is the sum before from_date; when from_date is not specified, opening balance is 0.00. Opening balance and running balance are NOT included when voucher_id is provided. Voided vouchers are automatically excluded from results, opening balance, and running balance calculations.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| account_code | string non-empty Example: account_code=1000 GL account code (e.g., "1000"). Required when voucher_id is not provided. When voucher_id is provided, account_code is optional - if omitted, all lines for the voucher are returned. |
| voucher_id | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Filter by voucher ID. When provided, account_code becomes optional. Either account_code or voucher_id must be provided. |
| from_date | string^\d{4}-\d{2}-\d{2}$ Example: from_date=2024-01-01 Filter by posting date (from, inclusive) |
| to_date | string^\d{4}-\d{2}-\d{2}$ Example: to_date=2024-12-31 Filter by posting date (to, inclusive) |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=50 Maximum number of results to return (1-100). Defaults to 10 if not specified. |
| cursor | string non-empty Example: cursor=eyJwb3N0aW5nRGF0ZSI6IjIwMjQtMDEtMTUiLCJ2b3VjaGVySWQiOiJ2b3VjaGVyLTEiLCJsaW5lSWQiOiJsaW5lLTEifQ Cursor for pagination (base64-encoded). Use the nextCursor from the previous response to fetch the next page. |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "voucher_id": "1b5a607b-e5eb-4b17-80b0-5739c041e81b",
- "voucher_number": "string",
- "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
- "gl_account_id": "ff3b9537-f5ac-4a59-bab0-287e059b4618",
- "gl_account_code": "string",
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "document_type": "sales_invoice",
- "description": "string",
- "amount": "string",
- "status": "valid",
- "posting_date": "string",
- "running_balance": "string"
}
], - "opening_balance": "string",
- "meta": {
- "pagination": {
- "limit": -9007199254740991,
- "has_more": true,
- "next_cursor": "string"
}
}
}Retrieve memos for a company with optional filtering and pagination
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| offset | integer [ 0 .. 9007199254740991 ] Number of results to skip for pagination |
| limit | integer [ 1 .. 100 ] Example: limit=10 Maximum number of results to return |
| status | string (SalesInvoiceStatus) Enum: "draft" "approved" "rejected" "voided" Example: status=draft Filter by document status |
| tag | string Example: tag=urgent Filter by tag name |
| search | string Example: search=rent Search in memo description (case-insensitive substring) |
| with_amount | boolean Example: with_amount=true Filter by presence of amount (true = has amount, false = no amount) |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "description": "string",
- "amount": "string",
- "currency_code": "string",
- "status": "string",
- "internal_notes": "string",
- "tags": [
- "string"
], - "files_count": -9007199254740991,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "count": -9007199254740991
}
}Create a new memo document. A memo is a manual document with a textual description and optional metadata, used as a workaround source for vouchers when automated sources are unavailable.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
Memo creation data
| description required | string non-empty Memo description (required) - textual description of what the document represents |
| document_date required | string <date> ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[... Document date (YYYY-MM-DD). Required for memo creation. Used as default posting date when creating vouchers. |
| amount | string^-?[0-9]+(\.[0-9]{1,8})?$ Optional amount (numeric string with up to 8 decimals) |
| currency_code | string Optional currency code (e.g., EUR, USD). Required when |
| files | Array of strings <uuid> [ items <uuid >^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... ] Optional array of file IDs to attach to the memo |
| tags | Array of strings Optional array of tag names to attach to the memo |
string or null Optional internal notes for team visibility only (internal-only field) | |
object Optional voucher data. If provided, a GL voucher will be created atomically with the memo. |
{- "description": "string",
- "document_date": "2019-08-24",
- "amount": "string",
- "currency_code": "string",
- "files": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "tags": [
- "string"
], - "internal_notes": "string",
- "voucher": {
- "posting_date": "2019-08-24",
- "currency": "EUR",
- "lines": [
- {
- "account_code": "string",
- "amount": "string",
- "memo": "string",
- "vat_rate": "string",
- "vat_class_code": "string"
}, - {
- "account_code": "string",
- "amount": "string",
- "memo": "string",
- "vat_rate": "string",
- "vat_class_code": "string"
}
]
}
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "description": "string",
- "amount": "string",
- "unsettled_amount": "string",
- "currency_code": "string",
- "status": "string",
- "internal_notes": "string",
- "document_date": "2019-08-24",
- "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "voucher": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "document_type": "sales_invoice",
- "currency": "EUR",
- "status": "valid",
- "posting_date": "2019-08-24",
- "lines": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_code": "string",
- "amount": "string",
- "memo": "string",
- "vat_rate": "string",
- "vat_class_code": "string"
}
], - "voucher_number": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Retrieve memo details by ID
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| memoId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Memo ID (document ID) |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "description": "string",
- "amount": "string",
- "unsettled_amount": "string",
- "currency_code": "string",
- "status": "string",
- "internal_notes": "string",
- "document_date": "2019-08-24",
- "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Update an existing memo document. Partial updates are supported - only provided fields will be updated. Business rules: (1) Cannot edit if fiscal period for document_date is locked, (2) Cannot change amount if memo has a linked voucher.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| memoId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Memo ID (document ID) |
Memo update data (partial updates supported)
| description | string non-empty Memo description |
string or null Document date (YYYY-MM-DD). Used as default posting date when creating vouchers. | |
string or null Optional amount (numeric string with up to 8 decimals) | |
string or null Currency code (e.g., EUR, USD). Required when amount is provided. | |
| files | Array of strings <uuid> [ items <uuid >^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... ] File IDs to attach (replaces all existing files) |
| tags | Array of strings Tag names to attach (replaces all existing tags) |
string or null Optional internal notes for team visibility only (internal-only field) |
{- "description": "string",
- "document_date": "2019-08-24",
- "amount": "string",
- "currency_code": "string",
- "files": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "tags": [
- "string"
], - "internal_notes": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "description": "string",
- "amount": "string",
- "unsettled_amount": "string",
- "currency_code": "string",
- "status": "string",
- "internal_notes": "string",
- "document_date": "2019-08-24",
- "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Retrieve parties for a company with optional search and filtering
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| scope required | string (PartyScope) Enum: "registry" "associated" Example: scope=registry Scope of parties to return |
| query | string Example: query=Acme Search query (searches in party names) |
| offset | string Example: offset=0 Number of results to skip for pagination |
| limit | string Example: limit=10 Maximum number of results to return |
| sort | string (PartySort) Enum: "name" "updated_at" Example: sort=name Sort order |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "registration_country_code": "string",
- "business_id": "string",
- "name": "string",
- "number": 0
}
]Create a new party
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
Party creation data
| registration_country_code required | string^[A-Z]{2}$ |
| business_id required | string |
| name required | string |
string or null | |
object or null | |
object or null | |
object | |
object | |
string or null | |
object or null |
{- "registration_country_code": "string",
- "business_id": "string",
- "name": "string",
- "vat_number": "string",
- "postal_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "visiting_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "invoicing_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "settings": {
- "general": {
- "currency": "EUR"
}, - "sales_invoice": {
- "invoicing_type": "email",
- "our_reference": "string",
- "your_reference": "string",
- "payment_term": 0,
- "interest_rate": "string"
}, - "purchase_invoice": {
- "invoicing_type": "email",
- "our_reference": "string",
- "your_reference": "string",
- "payment_term": 0,
- "interest_rate": "string"
}
}, - "invoicing_email": "user@example.com",
- "einvoice": {
- "address": "string",
- "operator": "string"
}
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0,
- "vat_number": "string",
- "postal_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "visiting_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "invoicing_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "settings": {
- "property1": {
- "property1": null,
- "property2": null
}, - "property2": {
- "property1": null,
- "property2": null
}
}, - "invoicing_email": "string",
- "einvoice": {
- "address": "string",
- "operator": "string"
}, - "public_registry": {
- "postal_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "visiting_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "einvoice": {
- "address": "string",
- "operator": "string"
}, - "vat_number": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Retrieve party details with optional includes
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| partyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Party ID |
| include | string Example: include=settings,address Comma-separated list of related resources to include |
| namespace | string Example: namespace=sales_invoice,purchase_invoice Comma-separated list of namespaces to include |
{- "id": "string",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0,
- "vat_number": "string",
- "postal_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "visiting_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "invoicing_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "settings": {
- "property1": {
- "property1": null,
- "property2": null
}, - "property2": {
- "property1": null,
- "property2": null
}
}, - "invoicing_email": "string",
- "einvoice": {
- "address": "string",
- "operator": "string"
}, - "public_registry": {
- "postal_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "visiting_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "einvoice": {
- "address": "string",
- "operator": "string"
}, - "vat_number": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Update party details
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| partyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Party ID |
Party update data
| name | string |
(string or "" (string)) or null | |
object or null | |
object or null | |
object | |
object Settings (can be flat structure for backward compatibility or namespaced like { namespace: { key: value } }) | |
(string or "" (string)) or null | |
object or null |
{- "name": "string",
- "vat_number": "string",
- "postal_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "visiting_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "invoicing_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "settings": {
- "property1": null,
- "property2": null
}, - "invoicing_email": "user@example.com",
- "einvoice": {
- "address": "string",
- "operator": "string"
}
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "number": 0
}List payments for a company with optional filtering
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| document_id | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Filter by payable document ID |
| status | string (PaymentStatus) Enum: "draft" "pending" "scheduled" "executed" "failed" "canceled" "rejected" Filter by payment status |
| offset | integer [ 0 .. 9007199254740991 ] Number of records to skip (for pagination) |
| limit | integer [ 1 .. 100 ] Maximum number of records to return (default 10, max 100) |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "currency": "str",
- "amount": "string",
- "status": "draft",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "total": -9007199254740991,
- "limit": -9007199254740991,
- "offset": -9007199254740991
}
}Create a new payment for a document
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
Payment creation data
| document_id required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... ID of the payable document (purchase invoice) |
| amount required | string^\d+(\.\d{1,2})?$ Payment amount with up to 2 decimal places |
| currency required | string = 3 characters Payment currency (currently only EUR supported) |
| debtor_bank_account_id required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Bank account ID for the debtor |
{- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "amount": "string",
- "currency": "str",
- "debtor_bank_account_id": "231a5002-84bd-418b-8831-7cbf4bf000b2"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "currency": "str",
- "amount": "string",
- "status": "draft",
- "debtor_bank_account_id": "231a5002-84bd-418b-8831-7cbf4bf000b2",
- "beneficiary_party_id": "string",
- "beneficiary_iban": "string",
- "beneficiary_bic": "string",
- "reference_number": "string",
- "message": "string",
- "scheduled_at": "2019-08-24",
- "executed_at": "2019-08-24T14:15:22Z",
- "upstream_id": "string",
- "end_to_end_id": "string",
- "rejection_code": "string",
- "failure_reason": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Initiate a payment through PSD2 provider
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| paymentId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Payment ID |
Payment initiation data
| redirect_url required | string <uri> URL to redirect user after successful bank authentication |
| cancel_url | string <uri> URL to redirect user if authentication fails or is canceled (defaults to redirect_url if not provided) |
{
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "pending",
- "channel": "psd2",
- "requested_execution_date": "2019-08-24",
- "rejection_code": "string",
- "failure_reason": "string"
}Retrieve products for a company with optional search and pagination
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| query | string Example: query=laptop Search query (searches in product names and descriptions) |
| offset | integer [ 0 .. 9007199254740991 ] Number of results to skip for pagination |
| limit | integer [ 1 .. 100 ] Example: limit=10 Maximum number of results to return |
| include_inactive | boolean Include inactive (deleted) products in results |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "unit_price": "string",
- "unit_name": "string",
- "currency": "string",
- "type": "services",
- "is_active": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "total": -9007199254740991,
- "limit": -9007199254740991,
- "offset": -9007199254740991
}
}Create a new product
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
Product creation data
| title required | string <= 255 characters |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null |
{- "title": "string",
- "description": "string",
- "unit_price": "string",
- "unit_name": "string",
- "vat_rate": "string",
- "currency": "str",
- "type": "services"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "unit_price": "string",
- "unit_name": "string",
- "vat_rate": "string",
- "currency": "string",
- "type": "services",
- "is_active": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Retrieve product details
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| productId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Product ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "unit_price": "string",
- "unit_name": "string",
- "vat_rate": "string",
- "currency": "string",
- "type": "services",
- "is_active": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Update product details
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| productId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Product ID |
Product update data
| title | string <= 255 characters |
| description | string <= 255 characters |
| unit_price | string^-?[0-9]+(\.[0-9]{1,2})?$ |
| unit_name | string <= 16 characters |
| vat_rate | string^1?[0-9]{0,2}(\.[0-9]{1,2})?$ |
| currency | string = 3 characters |
| type | string Enum: "services" "goods" "electronic_services" |
{- "title": "string",
- "description": "string",
- "unit_price": "string",
- "unit_name": "string",
- "vat_rate": "string",
- "currency": "str",
- "type": "services"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "unit_price": "string",
- "unit_name": "string",
- "vat_rate": "string",
- "currency": "string",
- "type": "services",
- "is_active": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Delete a product
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| productId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Product ID |
{- "error": "Resource not found",
- "debug": "Sales invoice not found",
- "timestamp": "2024-01-15T10:30:00Z"
}Reactivate a deleted (inactive) product
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| productId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Product ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "unit_price": "string",
- "unit_name": "string",
- "vat_rate": "string",
- "currency": "string",
- "type": "services",
- "is_active": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Retrieve purchase invoices for a company with optional filtering
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| status | string (SalesInvoiceStatus) Enum: "draft" "approved" "rejected" "voided" Example: status=draft Filter by document status |
| offset | integer [ 0 .. 9007199254740991 ] Number of results to skip for pagination |
| limit | integer [ 1 .. 100 ] Example: limit=10 Maximum number of results to return |
| owner_user_id | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Filter by owner user ID |
{- "example_query": "/companies/{companyId}/purchase-invoices?owner_user_id=73930057-2a35-4b9a-a675-4478e5fd3f4a&status=draft&offset=0&limit=10",
- "data": [
- {
- "id": "011b624e-6318-4137-99b1-199c264a5b4b",
- "description": "Electricity bill January",
- "invoice_date": "2024-01-15",
- "due_date": "2024-02-15",
- "currency": "EUR",
- "total_amount_gross": "124.00",
- "total_amount_net": "100.00",
- "total_amount_vat": "24.00",
- "supplier": {
- "name": "Energy Company"
}, - "status": "draft"
}
], - "meta": {
- "total": 1,
- "limit": 10,
- "offset": 0
}
}Create a new purchase invoice
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
Purchase invoice creation data
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
object or null | |
string or null | |
string or null | |
string or null | |
Array of objects or null | |
Array of strings or null | |
Array of strings or null |
{- "description": "string",
- "invoice_date": "2019-08-24",
- "due_date": "2019-08-24",
- "invoice_number": "string",
- "currency": "EUR",
- "total_amount_gross": "string",
- "total_amount_net": "string",
- "total_amount_vat": "string",
- "payment_method": "string",
- "reference": "string",
- "supplier": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string"
}, - "supplier_iban": "string",
- "supplier_bic": "string",
- "recipient_name": "string",
- "lines": [
- {
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price_net": "string",
- "vat_rate": "string",
- "vat_amount": "string",
- "vat_handling": "standard",
- "amount_gross": "string",
- "amount_net": "string",
- "type": "goods",
- "unit_name": "string",
- "amortization_type": "string",
- "vat_class_code": "string"
}
], - "files": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "tags": [
- "string"
]
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "invoice_number": "string",
- "invoice_date": "2019-08-24",
- "document_date": "2019-08-24",
- "due_date": "2019-08-24",
- "description": "string",
- "currency": "string",
- "company": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
}, - "supplier": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0
}, - "supplier_iban": "string",
- "supplier_bic": "string",
- "recipient_name": "string",
- "payment_method": "string",
- "source": "manual",
- "reference": "string",
- "internal_notes": "string",
- "delegated_by_user_id": "be8da939-c65d-49cd-9cb4-f522d9d858d8",
- "total_amount_net": "string",
- "total_amount_gross": "string",
- "total_amount_vat": "string",
- "rounding_amount_gross": "string",
- "rounding_amount_net": "string",
- "payable_amount": "string",
- "unsettled_amount": "string",
- "ai_summary": "string",
- "lines": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price_net": "string",
- "vat_rate": "string",
- "vat_amount": "string",
- "vat_handling": "standard",
- "amount_net": "string",
- "amount_gross": "string",
- "type": "goods",
- "unit_name": "string",
- "amortization_type": "string",
- "vat_class_code": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "caution_level": "caution",
- "status": "draft",
- "payment_status": "unpaid",
- "current_assignee_user_id": "3d697ec3-cb4c-4391-8815-473809da15c5",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "audit_summary": [
- {
- "id": "string",
- "action": "string",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "created_at": "2019-08-24T14:15:22Z"
}
]
}Retrieve purchase invoice details
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| purchaseInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Purchase invoice ID |
{- "id": "50345a92-121d-4428-9805-a53b416cfaaf",
- "description": "Laptop for new hire",
- "invoice_date": "2024-01-15",
- "due_date": "2024-02-15",
- "currency": "EUR",
- "total_amount_gross": "124.00",
- "total_amount_net": "100.00",
- "total_amount_vat": "24.00",
- "supplier": {
- "name": "Tech Supplier"
}, - "status": "draft"
}Update purchase invoice details
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| purchaseInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Purchase invoice ID |
Purchase invoice update data
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
object or null | |
| supplier_iban | string |
| supplier_bic | string |
| recipient_name | string |
Array of objects or null | |
Array of strings or null | |
Array of strings or null |
{- "description": "string",
- "internal_notes": "string",
- "invoice_date": "2019-08-24",
- "due_date": "2019-08-24",
- "invoice_number": "string",
- "currency": "EUR",
- "total_amount_gross": "string",
- "total_amount_net": "string",
- "total_amount_vat": "string",
- "payment_method": "string",
- "reference": "string",
- "supplier": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string"
}, - "supplier_iban": "string",
- "supplier_bic": "string",
- "recipient_name": "string",
- "lines": [
- {
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price_net": "string",
- "vat_rate": "string",
- "vat_amount": "string",
- "vat_handling": "standard",
- "amount_gross": "string",
- "amount_net": "string",
- "type": "goods",
- "unit_name": "string",
- "amortization_type": "string",
- "vat_class_code": "string"
}
], - "files": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "tags": [
- "string"
]
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "invoice_number": "string",
- "invoice_date": "2019-08-24",
- "document_date": "2019-08-24",
- "due_date": "2019-08-24",
- "description": "string",
- "currency": "string",
- "company": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
}, - "supplier": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0
}, - "supplier_iban": "string",
- "supplier_bic": "string",
- "recipient_name": "string",
- "payment_method": "string",
- "source": "manual",
- "reference": "string",
- "internal_notes": "string",
- "delegated_by_user_id": "be8da939-c65d-49cd-9cb4-f522d9d858d8",
- "total_amount_net": "string",
- "total_amount_gross": "string",
- "total_amount_vat": "string",
- "rounding_amount_gross": "string",
- "rounding_amount_net": "string",
- "payable_amount": "string",
- "unsettled_amount": "string",
- "ai_summary": "string",
- "lines": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price_net": "string",
- "vat_rate": "string",
- "vat_amount": "string",
- "vat_handling": "standard",
- "amount_net": "string",
- "amount_gross": "string",
- "type": "goods",
- "unit_name": "string",
- "amortization_type": "string",
- "vat_class_code": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "caution_level": "caution",
- "status": "draft",
- "payment_status": "unpaid",
- "current_assignee_user_id": "3d697ec3-cb4c-4391-8815-473809da15c5",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "audit_summary": [
- {
- "id": "string",
- "action": "string",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "created_at": "2019-08-24T14:15:22Z"
}
]
}Delete a purchase invoice
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| purchaseInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Purchase invoice ID |
{- "error": "Resource not found",
- "debug": "Sales invoice not found",
- "timestamp": "2024-01-15T10:30:00Z"
}Approve a purchase invoice
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| purchaseInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Purchase invoice ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "invoice_number": "string",
- "invoice_date": "2019-08-24",
- "document_date": "2019-08-24",
- "due_date": "2019-08-24",
- "description": "string",
- "currency": "string",
- "company": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
}, - "supplier": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0
}, - "supplier_iban": "string",
- "supplier_bic": "string",
- "recipient_name": "string",
- "payment_method": "string",
- "source": "manual",
- "reference": "string",
- "internal_notes": "string",
- "delegated_by_user_id": "be8da939-c65d-49cd-9cb4-f522d9d858d8",
- "total_amount_net": "string",
- "total_amount_gross": "string",
- "total_amount_vat": "string",
- "rounding_amount_gross": "string",
- "rounding_amount_net": "string",
- "payable_amount": "string",
- "unsettled_amount": "string",
- "ai_summary": "string",
- "lines": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price_net": "string",
- "vat_rate": "string",
- "vat_amount": "string",
- "vat_handling": "standard",
- "amount_net": "string",
- "amount_gross": "string",
- "type": "goods",
- "unit_name": "string",
- "amortization_type": "string",
- "vat_class_code": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "caution_level": "caution",
- "status": "draft",
- "payment_status": "unpaid",
- "current_assignee_user_id": "3d697ec3-cb4c-4391-8815-473809da15c5",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "audit_summary": [
- {
- "id": "string",
- "action": "string",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "created_at": "2019-08-24T14:15:22Z"
}
]
}Reject a purchase invoice
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| purchaseInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Purchase invoice ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "invoice_number": "string",
- "invoice_date": "2019-08-24",
- "document_date": "2019-08-24",
- "due_date": "2019-08-24",
- "description": "string",
- "currency": "string",
- "company": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
}, - "supplier": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0
}, - "supplier_iban": "string",
- "supplier_bic": "string",
- "recipient_name": "string",
- "payment_method": "string",
- "source": "manual",
- "reference": "string",
- "internal_notes": "string",
- "delegated_by_user_id": "be8da939-c65d-49cd-9cb4-f522d9d858d8",
- "total_amount_net": "string",
- "total_amount_gross": "string",
- "total_amount_vat": "string",
- "rounding_amount_gross": "string",
- "rounding_amount_net": "string",
- "payable_amount": "string",
- "unsettled_amount": "string",
- "ai_summary": "string",
- "lines": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price_net": "string",
- "vat_rate": "string",
- "vat_amount": "string",
- "vat_handling": "standard",
- "amount_net": "string",
- "amount_gross": "string",
- "type": "goods",
- "unit_name": "string",
- "amortization_type": "string",
- "vat_class_code": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "caution_level": "caution",
- "status": "draft",
- "payment_status": "unpaid",
- "current_assignee_user_id": "3d697ec3-cb4c-4391-8815-473809da15c5",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "audit_summary": [
- {
- "id": "string",
- "action": "string",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "created_at": "2019-08-24T14:15:22Z"
}
]
}Delegate a purchase invoice to another user
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| purchaseInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Purchase invoice ID |
Delegation data
| to_user_id required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... |
{- "to_user_id": "bdcaa974-8e23-4fc9-823d-e060850bbef1"
}{- "error": "Resource not found",
- "debug": "Sales invoice not found",
- "timestamp": "2024-01-15T10:30:00Z"
}Send back a purchase invoice to the previous assignee
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| purchaseInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Purchase invoice ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "invoice_number": "string",
- "invoice_date": "2019-08-24",
- "document_date": "2019-08-24",
- "due_date": "2019-08-24",
- "description": "string",
- "currency": "string",
- "company": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
}, - "supplier": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0
}, - "supplier_iban": "string",
- "supplier_bic": "string",
- "recipient_name": "string",
- "payment_method": "string",
- "source": "manual",
- "reference": "string",
- "internal_notes": "string",
- "delegated_by_user_id": "be8da939-c65d-49cd-9cb4-f522d9d858d8",
- "total_amount_net": "string",
- "total_amount_gross": "string",
- "total_amount_vat": "string",
- "rounding_amount_gross": "string",
- "rounding_amount_net": "string",
- "payable_amount": "string",
- "unsettled_amount": "string",
- "ai_summary": "string",
- "lines": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price_net": "string",
- "vat_rate": "string",
- "vat_amount": "string",
- "vat_handling": "standard",
- "amount_net": "string",
- "amount_gross": "string",
- "type": "goods",
- "unit_name": "string",
- "amortization_type": "string",
- "vat_class_code": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "caution_level": "caution",
- "status": "draft",
- "payment_status": "unpaid",
- "current_assignee_user_id": "3d697ec3-cb4c-4391-8815-473809da15c5",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "audit_summary": [
- {
- "id": "string",
- "action": "string",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "created_at": "2019-08-24T14:15:22Z"
}
]
}Generate a hierarchical Profit & Loss report for the specified date range. Returns revenue and expense accounts aggregated by account hierarchy with totals.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
Report generation parameters
| start_date required | string^\d{4}-\d{2}-\d{2}$ Start date of the reporting period (ISO date format: YYYY-MM-DD) |
| end_date required | string^\d{4}-\d{2}-\d{2}$ End date of the reporting period (ISO date format: YYYY-MM-DD) |
{- "start_date": "string",
- "end_date": "string"
}{- "period": {
- "start": "string",
- "end": "string"
}, - "currency": "string",
- "roots": [
- {
- "account_code": "string",
- "name": "string",
- "amount": "string",
- "children": [
- {
- "account_code": "string",
- "name": "string",
- "amount": "string",
- "children": [
- {
- "account_code": "string",
- "name": "string",
- "amount": "string",
- "children": [
- null
]
}
]
}
]
}
], - "totals": {
- "revenue": "string",
- "expenses": "string",
- "profit": "string"
}
}Generate a hierarchical Balance Sheet report as of a specific date. Returns asset, liability, and equity accounts aggregated by account hierarchy with totals.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
Report generation parameters
| as_of_date required | string^\d{4}-\d{2}-\d{2}$ Balance sheet date (ISO format: YYYY-MM-DD) |
{- "as_of_date": "string"
}{- "as_of_date": "string",
- "currency": "string",
- "roots": [
- {
- "account_code": "string",
- "name": "string",
- "amount": "string",
- "children": [
- {
- "account_code": "string",
- "name": "string",
- "amount": "string",
- "children": [
- {
- "account_code": "string",
- "name": "string",
- "amount": "string",
- "children": [
- null
]
}
]
}
]
}
], - "totals": {
- "assets": "string",
- "liabilities": "string",
- "equity": "string"
}
}Sales invoice management operations including searching, listing, creating, approval, and posting
Retrieve sales invoices for a company with optional filtering
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| status | string (SalesInvoiceStatus) Enum: "draft" "approved" "rejected" "voided" Example: status=draft Filter by document status |
| kind | string (SalesInvoiceKind) Enum: "invoice" "credit_note" Example: kind=invoice Filter by invoice kind (invoice or credit_note) |
| party_id | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Example: party_id=123e4567-e89b-12d3-a456-426614174000 Filter by recipient party ID |
| offset | integer [ 0 .. 9007199254740991 ] Number of results to skip for pagination |
| limit | integer [ 1 .. 100 ] Example: limit=10 Maximum number of results to return |
{- "example_query": "/companies/{companyId}/sales-invoices?status=draft&offset=0&limit=10",
- "data": [
- {
- "id": "652a1ef7-e89b-415b-9dca-a5ff15fd7eae",
- "invoice_date": "2024-01-01",
- "due_date": "2024-02-01",
- "currency": "EUR",
- "gross_amount": "124.00",
- "recipient": {
- "name": "Customer Company"
}, - "status": "draft"
}
], - "meta": {
- "total": 1,
- "limit": 10,
- "offset": 0
}
}Create a new sales invoice
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
Sales invoice creation data
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
object or null | |
string or null | |
object or null | |
object or null | |
Array of objects or null | |
Array of strings or null | |
Array of strings or null | |
"invoice" (string) or null | |
| credit_reason | null |
| credited_sales_invoice_id | null |
{- "description": "string",
- "invoice_date": "2019-08-24",
- "due_date": "2019-08-24",
- "interest_rate": "string",
- "our_reference": "string",
- "your_reference": "string",
- "bank_account_id": "9335a679-63ab-44d5-9de9-e01e0c5a1fff",
- "currency": "EUR",
- "locale": "fi-FI",
- "invoicing_channel": "email",
- "recipient": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string"
}, - "recipient_invoicing_email": "string",
- "recipient_invoicing_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient_einvoice": {
- "address": "string",
- "operator": "string"
}, - "lines": [
- {
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_name": "string",
- "unit_price": "string",
- "discount_percentage": "string",
- "type": "services",
- "vat_rate": "string",
- "delivery_start_date": "2019-08-24",
- "delivery_end_date": "2019-08-24",
- "vat_class_code": "string"
}
], - "files": [
- "string"
], - "tags": [
- "string"
], - "kind": "credit_note",
- "credit_reason": "string",
- "credited_sales_invoice_id": "8fdec0e4-3a29-4ed0-b4d6-d6af3836d63e"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_date": "2019-08-24",
- "invoice_date": "2019-08-24",
- "due_date": "2019-08-24",
- "description": "string",
- "internal_notes": "string",
- "invoice_number": "string",
- "currency": "string",
- "invoicing_channel": "string",
- "bank_account_id": "9335a679-63ab-44d5-9de9-e01e0c5a1fff",
- "our_reference": "string",
- "your_reference": "string",
- "sender_name": "string",
- "sender_domicile": "string",
- "sender_vat_number": "string",
- "sender_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0
}, - "recipient_invoicing_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient_invoicing_email": "string",
- "recipient_einvoice": {
- "address": "string",
- "operator": "string"
}, - "recipient_vat_number": "string",
- "bank_reference": "string",
- "gross_amount": "string",
- "vat_amount": "string",
- "interest_rate": "string",
- "locale": "string",
- "lines": [
- {
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price": "string",
- "unit_name": "string",
- "discount_percentage": "string",
- "type": "services",
- "vat_rate": "string",
- "vat_handling": "standard",
- "vat_amount": "string",
- "gross_amount": "string",
- "delivery_start_date": "2019-08-24",
- "delivery_end_date": "2019-08-24",
- "vat_class_code": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "status": "draft",
- "sending_status": "string",
- "rejection_code": "string",
- "rejection_reason": "string",
- "kind": "invoice",
- "credited_sales_invoice_id": "8fdec0e4-3a29-4ed0-b4d6-d6af3836d63e",
- "credit_reason": "string",
- "unsettled_amount": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Retrieve sales invoice details
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| salesInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Sales invoice ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_date": "2019-08-24",
- "invoice_date": "2019-08-24",
- "due_date": "2019-08-24",
- "description": "string",
- "internal_notes": "string",
- "invoice_number": "string",
- "currency": "string",
- "invoicing_channel": "string",
- "bank_account_id": "9335a679-63ab-44d5-9de9-e01e0c5a1fff",
- "our_reference": "string",
- "your_reference": "string",
- "sender_name": "string",
- "sender_domicile": "string",
- "sender_vat_number": "string",
- "sender_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0
}, - "recipient_invoicing_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient_invoicing_email": "string",
- "recipient_einvoice": {
- "address": "string",
- "operator": "string"
}, - "recipient_vat_number": "string",
- "bank_reference": "string",
- "gross_amount": "string",
- "vat_amount": "string",
- "interest_rate": "string",
- "locale": "string",
- "lines": [
- {
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price": "string",
- "unit_name": "string",
- "discount_percentage": "string",
- "type": "services",
- "vat_rate": "string",
- "vat_handling": "standard",
- "vat_amount": "string",
- "gross_amount": "string",
- "delivery_start_date": "2019-08-24",
- "delivery_end_date": "2019-08-24",
- "vat_class_code": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "status": "draft",
- "sending_status": "string",
- "rejection_code": "string",
- "rejection_reason": "string",
- "kind": "invoice",
- "credited_sales_invoice_id": "8fdec0e4-3a29-4ed0-b4d6-d6af3836d63e",
- "credit_reason": "string",
- "unsettled_amount": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Update sales invoice details
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| salesInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Sales invoice ID |
Sales invoice update data
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
string or null | |
object or null | |
string or null | |
object or null | |
object or null | |
Array of objects or null | |
Array of strings or null | |
Array of strings or null |
{- "description": "string",
- "internal_notes": "string",
- "invoice_date": "2019-08-24",
- "due_date": "2019-08-24",
- "interest_rate": "string",
- "our_reference": "string",
- "your_reference": "string",
- "bank_account_id": "9335a679-63ab-44d5-9de9-e01e0c5a1fff",
- "currency": "EUR",
- "locale": "fi-FI",
- "invoicing_channel": "email",
- "recipient": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string"
}, - "recipient_invoicing_email": "string",
- "recipient_invoicing_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient_einvoice": {
- "address": "string",
- "operator": "string"
}, - "lines": [
- {
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_name": "string",
- "unit_price": "string",
- "discount_percentage": "string",
- "type": "services",
- "vat_rate": "string",
- "delivery_start_date": "2019-08-24",
- "delivery_end_date": "2019-08-24",
- "vat_class_code": "string"
}
], - "files": [
- "string"
], - "tags": [
- "string"
]
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_date": "2019-08-24",
- "invoice_date": "2019-08-24",
- "due_date": "2019-08-24",
- "description": "string",
- "internal_notes": "string",
- "invoice_number": "string",
- "currency": "string",
- "invoicing_channel": "string",
- "bank_account_id": "9335a679-63ab-44d5-9de9-e01e0c5a1fff",
- "our_reference": "string",
- "your_reference": "string",
- "sender_name": "string",
- "sender_domicile": "string",
- "sender_vat_number": "string",
- "sender_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0
}, - "recipient_invoicing_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient_invoicing_email": "string",
- "recipient_einvoice": {
- "address": "string",
- "operator": "string"
}, - "recipient_vat_number": "string",
- "bank_reference": "string",
- "gross_amount": "string",
- "vat_amount": "string",
- "interest_rate": "string",
- "locale": "string",
- "lines": [
- {
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price": "string",
- "unit_name": "string",
- "discount_percentage": "string",
- "type": "services",
- "vat_rate": "string",
- "vat_handling": "standard",
- "vat_amount": "string",
- "gross_amount": "string",
- "delivery_start_date": "2019-08-24",
- "delivery_end_date": "2019-08-24",
- "vat_class_code": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "status": "draft",
- "sending_status": "string",
- "rejection_code": "string",
- "rejection_reason": "string",
- "kind": "invoice",
- "credited_sales_invoice_id": "8fdec0e4-3a29-4ed0-b4d6-d6af3836d63e",
- "credit_reason": "string",
- "unsettled_amount": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Delete a sales invoice
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| salesInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Sales invoice ID |
{- "error": "Resource not found",
- "debug": "Sales invoice not found",
- "timestamp": "2024-01-15T10:30:00Z"
}Approve a sales invoice. If any line items have null product_id, products will be automatically created from the line item data (title, description, unit price, VAT rate, etc.) during approval. All approved line items will have a product_id set.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| salesInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Sales invoice ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_date": "2019-08-24",
- "invoice_date": "2019-08-24",
- "due_date": "2019-08-24",
- "description": "string",
- "internal_notes": "string",
- "invoice_number": "string",
- "currency": "string",
- "invoicing_channel": "string",
- "bank_account_id": "9335a679-63ab-44d5-9de9-e01e0c5a1fff",
- "our_reference": "string",
- "your_reference": "string",
- "sender_name": "string",
- "sender_domicile": "string",
- "sender_vat_number": "string",
- "sender_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0
}, - "recipient_invoicing_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient_invoicing_email": "string",
- "recipient_einvoice": {
- "address": "string",
- "operator": "string"
}, - "recipient_vat_number": "string",
- "bank_reference": "string",
- "gross_amount": "string",
- "vat_amount": "string",
- "interest_rate": "string",
- "locale": "string",
- "lines": [
- {
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price": "string",
- "unit_name": "string",
- "discount_percentage": "string",
- "type": "services",
- "vat_rate": "string",
- "vat_handling": "standard",
- "vat_amount": "string",
- "gross_amount": "string",
- "delivery_start_date": "2019-08-24",
- "delivery_end_date": "2019-08-24",
- "vat_class_code": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "status": "draft",
- "sending_status": "string",
- "rejection_code": "string",
- "rejection_reason": "string",
- "kind": "invoice",
- "credited_sales_invoice_id": "8fdec0e4-3a29-4ed0-b4d6-d6af3836d63e",
- "credit_reason": "string",
- "unsettled_amount": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Send a sales invoice via the configured invoicing channel
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| salesInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Sales invoice ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_date": "2019-08-24",
- "invoice_date": "2019-08-24",
- "due_date": "2019-08-24",
- "description": "string",
- "internal_notes": "string",
- "invoice_number": "string",
- "currency": "string",
- "invoicing_channel": "string",
- "bank_account_id": "9335a679-63ab-44d5-9de9-e01e0c5a1fff",
- "our_reference": "string",
- "your_reference": "string",
- "sender_name": "string",
- "sender_domicile": "string",
- "sender_vat_number": "string",
- "sender_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0
}, - "recipient_invoicing_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient_invoicing_email": "string",
- "recipient_einvoice": {
- "address": "string",
- "operator": "string"
}, - "recipient_vat_number": "string",
- "bank_reference": "string",
- "gross_amount": "string",
- "vat_amount": "string",
- "interest_rate": "string",
- "locale": "string",
- "lines": [
- {
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price": "string",
- "unit_name": "string",
- "discount_percentage": "string",
- "type": "services",
- "vat_rate": "string",
- "vat_handling": "standard",
- "vat_amount": "string",
- "gross_amount": "string",
- "delivery_start_date": "2019-08-24",
- "delivery_end_date": "2019-08-24",
- "vat_class_code": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "status": "draft",
- "sending_status": "string",
- "rejection_code": "string",
- "rejection_reason": "string",
- "kind": "invoice",
- "credited_sales_invoice_id": "8fdec0e4-3a29-4ed0-b4d6-d6af3836d63e",
- "credit_reason": "string",
- "unsettled_amount": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Get pre-filled data for creating a credit note from an existing sales invoice
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| salesInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Original sales invoice ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_date": "2019-08-24",
- "invoice_date": "2019-08-24",
- "due_date": "2019-08-24",
- "description": "string",
- "internal_notes": "string",
- "invoice_number": "string",
- "currency": "string",
- "invoicing_channel": "string",
- "bank_account_id": "9335a679-63ab-44d5-9de9-e01e0c5a1fff",
- "our_reference": "string",
- "your_reference": "string",
- "sender_name": "string",
- "sender_domicile": "string",
- "sender_vat_number": "string",
- "sender_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0
}, - "recipient_invoicing_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient_invoicing_email": "string",
- "recipient_einvoice": {
- "address": "string",
- "operator": "string"
}, - "recipient_vat_number": "string",
- "bank_reference": "string",
- "gross_amount": "string",
- "vat_amount": "string",
- "interest_rate": "string",
- "locale": "string",
- "lines": [
- {
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price": "string",
- "unit_name": "string",
- "discount_percentage": "string",
- "type": "services",
- "vat_rate": "string",
- "vat_handling": "standard",
- "vat_amount": "string",
- "gross_amount": "string",
- "delivery_start_date": "2019-08-24",
- "delivery_end_date": "2019-08-24",
- "vat_class_code": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "status": "draft",
- "sending_status": "string",
- "rejection_code": "string",
- "rejection_reason": "string",
- "kind": "invoice",
- "credited_sales_invoice_id": "8fdec0e4-3a29-4ed0-b4d6-d6af3836d63e",
- "credit_reason": "string",
- "unsettled_amount": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Get pre-filled data for creating a copy of an existing sales invoice
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| salesInvoiceId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Sales invoice ID to copy from |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_date": "2019-08-24",
- "invoice_date": "2019-08-24",
- "due_date": "2019-08-24",
- "description": "string",
- "internal_notes": "string",
- "invoice_number": "string",
- "currency": "string",
- "invoicing_channel": "string",
- "bank_account_id": "9335a679-63ab-44d5-9de9-e01e0c5a1fff",
- "our_reference": "string",
- "your_reference": "string",
- "sender_name": "string",
- "sender_domicile": "string",
- "sender_vat_number": "string",
- "sender_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "registration_country_code": "string",
- "business_id": "string",
- "number": 0
}, - "recipient_invoicing_address": {
- "street": [
- "string"
], - "city": "string",
- "postal_code": "string",
- "region": "string",
- "country_code": "string"
}, - "recipient_invoicing_email": "string",
- "recipient_einvoice": {
- "address": "string",
- "operator": "string"
}, - "recipient_vat_number": "string",
- "bank_reference": "string",
- "gross_amount": "string",
- "vat_amount": "string",
- "interest_rate": "string",
- "locale": "string",
- "lines": [
- {
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "title": "string",
- "description": "string",
- "quantity": "string",
- "unit_price": "string",
- "unit_name": "string",
- "discount_percentage": "string",
- "type": "services",
- "vat_rate": "string",
- "vat_handling": "standard",
- "vat_amount": "string",
- "gross_amount": "string",
- "delivery_start_date": "2019-08-24",
- "delivery_end_date": "2019-08-24",
- "vat_class_code": "string"
}
], - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "status": "string"
}
], - "tags": [
- "string"
], - "status": "draft",
- "sending_status": "string",
- "rejection_code": "string",
- "rejection_reason": "string",
- "kind": "invoice",
- "credited_sales_invoice_id": "8fdec0e4-3a29-4ed0-b4d6-d6af3836d63e",
- "credit_reason": "string",
- "unsettled_amount": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Resolve settings with optional company or party context. Settings are resolved in order: party scope > company scope > global scope.
| company_id | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID for company-specific settings |
| party_id | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Party ID for party-specific settings (will resolve company_id if not provided) |
| namespace | string Example: namespace=sales_invoice,purchase_invoice Comma-separated list of namespaces to include |
{- "property1": null,
- "property2": null
}Retrieve tags for a company with optional search and pagination
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| query | string Example: query=important Search query (searches in tag names) |
| offset | integer [ 0 .. 9007199254740991 ] Number of results to skip for pagination |
| limit | integer [ 1 .. 100 ] Example: limit=100 Maximum number of results to return (default: 100) |
[- "string"
]Create a settlement between any two document types (memo, purchase_invoice, sales_invoice, bank_transaction). This records that a specific amount has been settled between the two documents, updating the relevant unsettled_amount fields. Supports type-aware matching: incoming documents match incoming, outgoing match outgoing, and same-type documents require opposite signs (e.g., invoice and credit note). Memos without amount cannot be reconciled.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
Settlement creation data
| document_a_id required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... First document ID (memo, purchase_invoice, sales_invoice, or bank_transaction) |
| document_b_id required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Second document ID (memo, purchase_invoice, sales_invoice, or bank_transaction) |
| amount required | string^([1-9][0-9]*(\.[0-9]{1,8})?|0\.([1-9][0-9]{0... Settlement amount (positive decimal string, must be > 0) |
{- "document_a_id": "f5f1b8a4-b413-4922-a4b9-1097ae15b1b0",
- "document_b_id": "5755b0e6-dd6a-43e3-ae3e-2e974a49f8ff",
- "amount": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_a_id": "f5f1b8a4-b413-4922-a4b9-1097ae15b1b0",
- "document_b_id": "5755b0e6-dd6a-43e3-ae3e-2e974a49f8ff",
- "amount": "string",
- "updated_unsettled_amount_a": "string",
- "updated_unsettled_amount_b": "string"
}Soft-delete (reject) a settlement. If the settlement has a linked voucher and the voucher is in a locked or closed fiscal period, returns 409 Conflict. Otherwise marks the settlement as rejected and, if present, voids the voucher. Document unsettled amounts are recalculated. See TECH-569.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| settlementId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Settlement ID |
{- "error": "Invalid input",
- "debug": "Validation failed for field 'invoice_date'",
- "timestamp": "2024-01-15T10:30:00Z"
}Retrieve all active VAT classes (ALV-tunnisteet) from Netvisor standards. These are predefined codes used in Finnish accounting systems for VAT reporting and compliance.
{- "data": [
- {
- "code": "KOMY",
- "name": "Kotimaan myynti",
- "description": "Kotimaan myynti",
- "is_active": true,
- "created_at": "2025-12-12T00:00:00Z",
- "updated_at": "2025-12-12T00:00:00Z"
}, - {
- "code": "EUOS",
- "name": "EU-osto",
- "description": "EU-osto",
- "is_active": true,
- "created_at": "2025-12-12T00:00:00Z",
- "updated_at": "2025-12-12T00:00:00Z"
}
]
}List vouchers for a company with cursor-based pagination. Filters by status, date range, document type, and voucher number. All vouchers include their lines.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| status | string (VoucherStatus) Enum: "valid" "voided" Example: status=valid Filter by voucher status |
| from_date | string <date> ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[... Example: from_date=2024-01-01 Filter by posting date (from, inclusive) |
| to_date | string <date> ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[... Example: to_date=2024-12-31 Filter by posting date (to, inclusive) |
| document_type | string (VoucherDocumentType) Enum: "sales_invoice" "purchase_invoice" "bank_transaction" "memo" "settlement" Example: document_type=sales_invoice Filter by document type |
| document_id | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Example: document_id=12345678-1234-4234-8234-123456789abc Filter by source document ID (to find voucher for a specific document) |
| voucher_number | string non-empty Example: voucher_number=SI-1000 Filter by voucher number |
| limit | integer [ 1 .. 100 ] Example: limit=10 Maximum number of results to return (1-100) |
| cursor | string Pagination cursor from previous response |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "document_type": "sales_invoice",
- "currency": "EUR",
- "status": "valid",
- "posting_date": "2019-08-24",
- "lines": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_code": "string",
- "amount": "string",
- "memo": "string",
- "vat_rate": "string",
- "vat_class_code": "string"
}
], - "voucher_number": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "pagination": {
- "limit": -9007199254740991,
- "has_more": true,
- "next_cursor": "string"
}
}
}Create a new GL voucher for a given document. Each voucher is tied to exactly one document (sales invoice, purchase invoice, bank transaction, memo). Vouchers are created as valid and are locked via fiscal period locking. Vouchers can be voided but cannot be deleted. Vouchers that are not locked, can be updated. A document can have only one voucher.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
Voucher creation data
| document_id required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Document ID - must exist and must not already have a voucher |
| posting_date | string <date> ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[... Posting date (YYYY-MM-DD). Defaults to document document_date if not provided. Must be inside a non-locked fiscal period, or no fiscal period must exist for the date. |
| currency required | string Value: "EUR" Currency code |
required | Array of objects >= 2 items Voucher lines. Must have at least 2 lines. Lines must balance (sum of amounts = 0.00). |
{- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "posting_date": "2019-08-24",
- "currency": "EUR",
- "lines": [
- {
- "account_code": "string",
- "amount": "string",
- "memo": "string",
- "vat_rate": "string",
- "vat_class_code": "string"
}, - {
- "account_code": "string",
- "amount": "string",
- "memo": "string",
- "vat_rate": "string",
- "vat_class_code": "string"
}
]
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "document_type": "sales_invoice",
- "currency": "EUR",
- "status": "valid",
- "posting_date": "2019-08-24",
- "lines": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_code": "string",
- "amount": "string",
- "memo": "string",
- "vat_rate": "string",
- "vat_class_code": "string"
}
], - "voucher_number": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Retrieve a specific GL voucher by ID with all its lines. Returns vouchers regardless of status (valid or voided).
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| voucherId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Voucher ID |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "document_type": "sales_invoice",
- "currency": "EUR",
- "status": "valid",
- "posting_date": "2019-08-24",
- "lines": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_code": "string",
- "amount": "string",
- "memo": "string",
- "vat_rate": "string",
- "vat_class_code": "string"
}
], - "voucher_number": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Update an existing GL voucher. Vouchers can only be edited if they have status = "valid" and the voucher's posting_date falls within an unlocked fiscal period (fiscal period's lock_date is null or the voucher date is after the lock date). The endpoint updates both gl_voucher and gl_line tables in a single transaction, replacing all existing lines with the new lines. document_id cannot be changed.
| companyId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Company ID |
| voucherId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Voucher ID |
Voucher update data
| posting_date | string <date> ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[... Posting date (YYYY-MM-DD). If provided, must be inside an open/planned fiscal period and unlocked. |
required | Array of objects >= 2 items Voucher lines. Must have at least 2 lines. Lines must balance (sum of amounts = 0.00). All existing lines will be replaced. |
{- "posting_date": "2019-08-24",
- "lines": [
- {
- "account_code": "string",
- "amount": "string",
- "memo": "string",
- "vat_rate": "string",
- "vat_class_code": "string"
}, - {
- "account_code": "string",
- "amount": "string",
- "memo": "string",
- "vat_rate": "string",
- "vat_class_code": "string"
}
]
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "document_type": "sales_invoice",
- "currency": "EUR",
- "status": "valid",
- "posting_date": "2019-08-24",
- "lines": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_code": "string",
- "amount": "string",
- "memo": "string",
- "vat_rate": "string",
- "vat_class_code": "string"
}
], - "voucher_number": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}