Candis Core Data API

The Candis core data API allows you to send the following types of core data to Candis:

  1. General ledger account
  2. Contacts
  3. Cost centers and cost objects
  4. Tax codes
  5. Payment conditions
  6. Purchase orders
  7. Goods receipts
  8. Additional delivery costs

The first five types support the core invoice processing workflow. Purchase orders, Goods receipts, and Additional delivery costs enable three-way matching between purchase orders, goods receipts, and invoices.

Archiving is not the same as deleting. The data will still be shown in Candis, but under a separate tab, and is not available for the user to choose in the approval or processing of invoices.

General ledger account

For the General ledger account, we have the following fields:

  1. number
  2. name

Contacts

For Contacts, we have the following fields:

  1. Accounts payable number
  2. Contact name
  3. Vat ID
  4. Tax number
  5. Email
  6. IBAN
  7. Payment condition name

Only the contact name and accounts payable number are mandatory. The rest is optional. Please ensure to send valid data for all optional fields. IBANs VAT IDs that are not correct will lead to an error while uploading that specific contact. The contact will not be shown in Candis.

For email, it is important to send an email. If there is a text, not an email, Candis is going to reject that contact, too.

The payment condition name connects the payment condition to the contact. Therefore, always send the payment condition before the contact. If not, the contact is not rejected, but will not show the payment condition in Candis.

Cost center and cost object

The cost center and cost object consist of the following fields:

  1. Number
  2. Name

Tax codes

The tax codes consist of the following fields:

  1. Number
  2. Name

Payment condition

The payment condition consists of the following fields:

  1. Name
  2. Due date
  3. Discount rate
  4. Discount due date

Please make sure to always send the payment condition before the contacts. Contacts are connected to payment conditions and if the payment condition does not exist while the contact is created or updated, the payment condition will not be attached to the contact.

Purchase orders

Purchase orders can be imported and updated. They are used for three-way matching with goods receipts and invoices during the approval workflow.

The import is idempotent — if a purchase order with the same order number and organization already exists, it will be updated.

For purchase orders, we have the following fields:

  1. Order number
  2. Line number
  3. Item number
  4. Location code
  5. External line ID

The order number, line number, and item number are mandatory. Location code and external line ID are optional.

Goods receipts

Goods receipts represent confirmations of received goods and are used alongside purchase orders for three-way matching during invoice processing.

For goods receipts, we have the following fields:

  1. Receipt number
  2. Line number
  3. Item number
  4. Location code
  5. External line ID

The receipt number, line number, and item number are mandatory. Location code and external line ID are optional.

Additional delivery costs

Additional delivery costs represent supplementary charges (e.g., freight, handling fees) associated with purchase orders or goods receipts. They appear as a separate split posting type during export.

For additional delivery costs, we have the following fields:

  1. Code
  2. Description
  3. Additional description
  4. General ledger account
  5. Is archived

Only the code is always mandatory. Description is mandatory when creating a new entry. Additional description, general ledger account, and is archived are optional. Setting is archived to true deactivates the entry — it will still be shown in Candis, but under a separate tab.

Get import logs

After the data is successfully imported, you will receive an ID. A successful import does not necessarily mean the data is also available for the user. If, for example, an IBAN is rejected, the user can see it in the import history in Candis. Therefore, users can take action in the other system and change the data to a valid IBAN. After that, the data can be sent again.

This endpoint allows you to also get information as to why the core data was imported but not created or updated in Candis.