Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/visma-voucherdrafts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Bookkeeping & Invoicing/eAccounting API V2 Voucher Drafts…
description: 'Visit our complete Bookkeeping & Invoicing/eAccounting API docs for how to get started, information about authentication, error handling, query customization and more.
✉ API Support'
version: v2
servers:
- url: https://eaccountingapi.vismaonline.com/v2/
tags:
- name: VoucherDrafts
description: 'A preliminary version of a voucher that can be edited and reviewed before being finalized.
___
Available in any of the following variants:
* Pro
* Standard
* Solo
* Bookkeeping'
paths:
/voucherdrafts:
get:
tags:
- VoucherDrafts
summary: Get voucher drafts
description: 'Get all voucher drafts, or add query parameters to filter the results. The response will include a list of voucher drafts with their details such as date, text, and associated voucher draft rows.
___
Requires any of the following scopes:
* ea:accounting
* ea:accounting_readonly'
responses:
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedResponseOfVoucherDraftApi'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
operationId: getVoucherdrafts
x-operation-id-source: derived
post:
tags:
- VoucherDrafts
summary: Create voucher draft
description: 'Create a new voucher draft with transaction rows.
___
Requires any of the following scopes:
* ea:accounting'
parameters:
- name: amountIncludesVat
in: query
description: 'Default value: False. If true, the amounts are used as including VAT when draft is created.'
schema:
type: boolean
default: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VoucherDraftApi'
responses:
'201':
description: Voucher draft created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/VoucherDraftApi'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
operationId: postVoucherdrafts
x-operation-id-source: derived
/voucherdrafts/{voucherDraftId}:
get:
tags:
- VoucherDrafts
summary: Get voucher draft by id
description: 'Get a specific voucher draft by its unique identifier. The response will include the voucher draft details such as date, text, and associated voucher draft rows.
___
Requires any of the following scopes:
* ea:accounting
* ea:accounting_readonly'
parameters:
- name: voucherDraftId
in: path
description: This represents the Id of the voucher draft.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/VoucherDraftApi'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
'404':
description: Voucher not found
operationId: getVoucherdraftsByVoucherDraftId
x-operation-id-source: derived
put:
tags:
- VoucherDrafts
summary: Update voucher draft
description: 'Replace an existing voucher draft''s data with the provided new data. The updated voucher draft can be saved for later completion or converted to a voucher.
___
Requires any of the following scopes:
* ea:accounting'
parameters:
- name: voucherDraftId
in: path
description: This represents the Id of the voucher draft.
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VoucherDraftApi'
responses:
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/VoucherDraftApi'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
'404':
description: Voucher draft not found
operationId: putVoucherdraftsByVoucherDraftId
x-operation-id-source: derived
delete:
tags:
- VoucherDrafts
summary: Delete voucher draft
description: 'Delete a specified voucher draft. This action cannot be undone.
___
Requires any of the following scopes:
* ea:accounting'
parameters:
- name: voucherDraftId
in: path
description: This represents the Id of the voucher draft.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Request successful
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
'404':
description: Voucher draft not found
operationId: deleteVoucherdraftsByVoucherDraftId
x-operation-id-source: derived
/voucherdrafts/{voucherDraftId}/convert:
post:
tags:
- VoucherDrafts
summary: Convert voucher draft to voucher
description: 'Convert a voucher draft to a finalized voucher. Once converted, the voucher draft will be removed and a new voucher will be created with the same transaction data.
___
Requires any of the following scopes:
* ea:accounting'
parameters:
- name: voucherDraftId
in: path
description: This represents the Id of the voucher draft.
required: true
schema:
type: string
format: uuid
responses:
'201':
description: Voucher created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/VoucherApi'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
'404':
description: Voucher draft not found
operationId: postVoucherdraftsByVoucherDraftIdConvert
x-operation-id-source: derived
components:
schemas:
VoucherDraftApi:
required:
- VoucherDate
type: object
properties:
Id:
type: string
description: The unique identifier of the voucher draft provided by eAccounting
format: uuid
readOnly: true
VoucherDate:
type: string
description: The voucher date in yyyy-mm-dd format
format: date-time
VoucherText:
maxLength: 1000
minLength: 0
type:
- string
- 'null'
description: 'Description or text for the voucher. Maximum length: 1000 characters'
NumberSeries:
type:
- string
- 'null'
description: The number series for the voucher. If not set, the default number series will be used
CreatedUtc:
type: string
description: The UTC timestamp when the voucher draft was created
format: date-time
readOnly: true
ModifiedUtc:
type:
- string
- 'null'
description: The UTC timestamp when the voucher draft was last modified
format: date-time
readOnly: true
Rows:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/VoucherDraftRowApi'
description: Collection of voucher draft rows containing accounting entries
additionalProperties: false
CommonPaginationMetadata:
required:
- CurrentPage
- PageSize
- ServerTimeUtc
- TotalNumberOfPages
- TotalNumberOfResults
type: object
properties:
CurrentPage:
type: integer
description: The current page number
format: int32
PageSize:
type: integer
description: The number of results per page
format: int32
TotalNumberOfPages:
type: integer
description: The total number of pages available
format: int32
TotalNumberOfResults:
type: integer
description: The total number of results available for the query
format: int32
ServerTimeUtc:
type: string
description: <strong>Possible values:</strong><br/>2017-07-21T17:32:28Z<br/><br/>The date-time notation as defined by RFC 3339, section 5.6.
format: date-time
additionalProperties: false
PaginatedResponseOfVoucherDraftApi:
required:
- Data
- Meta
type: object
properties:
Meta:
$ref: '#/components/schemas/CommonPaginationMetadata'
Data:
type: array
items:
$ref: '#/components/schemas/VoucherDraftApi'
additionalProperties: false
CommonError:
type: object
properties:
Field:
type:
- string
- 'null'
ErrorCode:
type:
- string
- 'null'
Message:
type:
- string
- 'null'
Key:
type:
- string
- 'null'
additionalProperties: false
VoucherDraftRowApi:
required:
- AccountNumber
type: object
properties:
AccountNumber:
maximum: 9999999999
minimum: 1
type: integer
description: The account number for the voucher row. Must be between 1 and 9999999999
format: int64
DebitAmount:
maximum: 1000000000
minimum: 0
type: number
description: The debit amount for this voucher row. Maximum 2 decimals allowed
format: double
CreditAmount:
maximum: 1000000000
minimum: 0
type: number
description: The credit amount for this voucher row. Maximum 2 decimals allowed
format: double
VatCodeId:
type:
- string
- 'null'
description: The VAT code identifier. If set, it will be used to calculate the corresponding VAT amount
format: uuid
CostCenterItemId1:
type:
- string
- 'null'
description: 'The first cost center item identifier. Source: Get from /v2/costcenters'
format: uuid
CostCenterItemId2:
type:
- string
- 'null'
description: 'The second cost center item identifier. Source: Get from /v2/costcenters'
format: uuid
CostCenterItemId3:
type:
- string
- 'null'
description: 'The third cost center item identifier. Source: Get from /v2/costcenters'
format: uuid
TransactionText:
maxLength: 50
minLength: 0
type:
- string
- 'null'
description: 'Transaction description text. Maximum length: 50 characters'
ProjectId:
type:
- string
- 'null'
description: 'The project identifier for this voucher row. Source: Get from /v2/projects'
format: uuid
Quantity:
type:
- number
- 'null'
description: Quantity value with maximum 2 decimals. This feature is for Dutch companies only which have agriculture support enabled
format: double
Weight:
type:
- number
- 'null'
description: Weight value with maximum 2 decimals. This feature is for Dutch companies only which have agriculture support enabled
format: double
DeliveryDate:
type:
- string
- 'null'
description: Delivery date in YYYY-MM-DD format. This feature is for Dutch companies only which have agriculture support enabled
format: date-time
HarvestYear:
type:
- integer
- 'null'
description: The harvest year. This feature is for Dutch companies only which have agriculture support enabled
format: int32
additionalProperties: false
CommonExtendedBadRequest:
type: object
properties:
ErrorCode:
type: integer
format: int32
DeveloperErrorMessage:
type:
- string
- 'null'
ErrorId:
type: string
format: uuid
Errors:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/CommonError'
additionalProperties: false
VoucherApi:
required:
- Rows
- VoucherDate
- VoucherText
type: object
properties:
Id:
type: string
description: Unique Id provided by the system
format: uuid
readOnly: true
VoucherDate:
type: string
description: 'Bookkeeping date. Format: yyyy-mm-dd'
format: date-time
VoucherText:
maxLength: 1000
minLength: 0
type: string
description: Voucher's description
Rows:
type: array
items:
$ref: '#/components/schemas/VoucherRowApi'
description: The accounting rows/lines of the voucher
NumberAndNumberSeries:
type:
- string
- 'null'
description: Returns the voucher number
readOnly: true
NumberSeries:
type:
- string
- 'null'
description: Returns the number series. Use parameter useDefaultVoucherSeries with false value to set Series.
ImportedVoucherNumber:
type:
- string
- 'null'
description: Returns original voucher number if the voucher is imported from another system.
readOnly: true
Attachments:
$ref: '#/components/schemas/AttachmentLinkApi'
ModifiedUtc:
type:
- string
- 'null'
description: The UTC date and time when the voucher was last modified.
format: date-time
readOnly: true
VoucherType:
type: integer
description: <strong>Possible values:</strong><br/>2 = ManualVoucher,<br/>5 = BankAccountTransferDeposit,<br/>6 = BankAccountTransferWithDrawal,<br/>7 = PurchaseReceipt,<br/>8 = VatReport,<br/>9 = SieImport,<br/>10 = BankTransactionDeposit,<br/>11 = BankTransactionWithdrawal,<br/>12 = SupplierInvoiceDebit,<br/>13 = SupplierInvoiceCredit,<br/>14 = CustomerInvoiceDebit,<br/>15 = CustomerInvoiceCredit,<br/>16 = ClaimOnCardAcquirer,<br/>17 = TaxReturn,<br/>18 = AllocationPeriod,<br/>19 = AllocationPeriodCorrection,<br/>20 = InventoryEvent,<br/>21 = EmployerReport,<br/>22 = Payslip,<br/>23 = CustomerQuickInvoiceDebit,<br/>24 = CustomerQuickInvoiceCredit,<br/>25 = SupplierQuickInvoiceDebit,<br/>26 = SupplierQuickInvoiceCredit,<br/>27 = IZettleVoucher,<br/>28 = StockValuation,<br/>29 = ClaimOnSpotFactoring,<br/>30 = RecourseFactoring,<br/>32 = DirectDebit,<br/>33 = DirectDebitCorrection,<br/>34 = PaymentLinks
format: int32
SourceId:
type:
- string
- 'null'
description: The source of the voucher, e.g. invoice id.
format: uuid
readOnly: true
CreatedUtc:
type: string
description: The UTC date and time when the voucher was created.
format: date-time
readOnly: true
additionalProperties: false
VoucherRowApi:
required:
- AccountNumber
type: object
properties:
AccountNumber:
maximum: 9999999999
minimum: 1
type: integer
description: The account number for this row. Must be between 1 and 9999999999
format: int64
AccountDescription:
type:
- string
- 'null'
description: Account number description
readOnly: true
DebitAmount:
maximum: 10000000000
minimum: 0
type: number
description: The debit amount for this row. Maximum 2 decimal places
format: double
CreditAmount:
maximum: 10000000000
minimum: 0
type: number
description: The credit amount for this row. Maximum 2 decimal places
format: double
TransactionText:
maxLength: 60
minLength: 0
type:
- string
- 'null'
description: 'Transaction text used in searchable column in Account Analysis. Maximum length: 60 characters'
CostCenterItemId1:
type:
- string
- 'null'
description: 'The first cost center item identifier. Source: Get from /v2/costcenters'
format: uuid
readOnly: true
CostCenterItemId2:
type:
- string
- 'null'
description: 'The second cost center item identifier. Source: Get from /v2/costcenters'
format: uuid
CostCenterItemId3:
type:
- string
- 'null'
description: 'The third cost center item identifier. Source: Get from /v2/costcenters'
format: uuid
VatCodeId:
type:
- string
- 'null'
description: The VAT code identifier returned from the provided account number
format: uuid
VatCodeAndPercent:
type:
- string
- 'null'
description: 'The VAT code and percentage in the format ''Code (Percentage)''. Example: ''MVA 25%'''
VatAmount:
type:
- number
- 'null'
description: The VAT amount for this row. Only for Denmark and Netherlands
format: double
Quantity:
type:
- number
- 'null'
description: The quantity for this row. Maximum 2 decimal places. This feature is for Dutch companies with agriculture support only
format: double
Weight:
type:
- number
- 'null'
description: The weight for this row. Maximum 2 decimal places. This feature is for Dutch companies with agriculture support only
format: double
DeliveryDate:
type:
- string
- 'null'
description: 'The delivery date. Format: YYYY-MM-DD. This feature is for Dutch companies with agriculture support only'
format: date-time
HarvestYear:
type:
- integer
- 'null'
description: The harvest year. This feature is for Dutch companies with agriculture support only
format: int32
ProjectId:
type:
- string
- 'null'
description: The project identifier. Get from /v2/projects
format: uuid
additionalProperties: false
AttachmentLinkApi:
required:
- AttachmentIds
- DocumentType
type: object
properties:
DocumentId:
type: string
description: 'The id from the system of the corresponding linked document. Source: Get from endpoints corresponding to your document type'
format: uuid
DocumentType:
type: integer
description: <strong>Possible values:</strong><br/>0 = None,<br/>1 = SupplierInvoice,<br/>2 = Receipt,<br/>3 = Voucher,<br/>4 = SupplierInvoiceDraft,<br/>5 = AllocationPeriod,<br/>6 = Transfer,<br/>8 = BankTransaction,<br/>9 = VoucherDraft
format: int32
AttachmentIds:
type: array
items:
type: string
format: uuid
description: List of guids representing the attachment ids fetched from the system
additionalProperties: false
x-tagGroups:
- name: Sales
tags:
- ArticleLabels
- Articles
- CustomerInvoiceDrafts
- CustomerInvoiceOffsets
- CustomerInvoices
- CustomerInvoiceValuationHistories
- CustomerLabels
- CustomerLedgerItems
- Customers
- DeliveryMethods
- DeliveryTerms
- DiscountAgreements
- Orders
- QuoteDrafts
- Quotes
- SalesPriceLists
- TermsOfPayment
- WebshopOrders
- name: Purchase
tags:
- BankAccounts
- ForeignPaymentCodes
- PurchaseReceiptDrafts
- SupplierInvoiceDrafts
- SupplierInvoices
- SupplierInvoiceValuationHistories
- SupplierLedgerItems
- Suppliers
- name: Common
tags:
- Approval
- AppStoreActivationStatus
- AttachmentLinks
- Attachments
- AutoInvoice
- Bank
- Charts
- CompanySettings
- Company
- Countries
- Currencies
- Documents
- IdentityLookup
- MessageThreads
- Mobile
- Notes
- PartnerResourceLinks
- SalesDocumentAttachments
- Trials
- Units
- Users
- VoTokenValidation
- WebHooks
- Zapier
- name: Accounting
tags:
- AccountBalance
- Accounts
- AccountTypes
- AllocationPeriods
- ArticleAccountCodings
- BankTransactions
- CostCenterItems
- CostCenters
- FiscalYears
- InventoryItems
- PaymentVoucher
- Projects
- SieFileImportExport
- VatCode
- VatReport
- VoucherDrafts
- Vouchers
- VoucherWithOverunderPayment