Onboard a new creditor

Before we can use Kravia invoicing or collection services, we need to create a creditor inside the Kravia platform. The creditor is the company / organization or private person that will act as the invoicing party.

In order to facilitate the onboarding process and reduce configuration requirements for partners, Kravia offers a flexible onboarding flow in two steps:

  1. Initialise → in this stage, you can specify the system the creditor is using and kravia will provide a template configuration

  2. Enrich → Using data from the initialization as a default template, you can enrich the creditor information by overriding all relevant settings

  3. Activate → One the default creditor data has been enriched, you can submit the data for onboarding. The logic will create the actual creditor

1. InitialiseCopied!

The initialisation API to onboard new creditor is available here. The only information required is the accounting system the creditor is coming from.

curl https://api.kravia.ai/api/v2/onboarding/init \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: YOUR_SECRET_TOKEN' \
  --data '{
  "accountingSystem": "Systima"
}'

The list of supported systems includes

  • VismaBusiness

  • PowerOfficeGo

  • Tripletex,

  • UniEconomy

  • VismaBusinessAzets

  • VismaBusinessBookkeeper

  • ManualTransfer

  • OnProperty

  • KraviaAgent

  • Spense

  • Tabs

  • Fiken

  • Husleie

  • Xena

  • Xledger

  • TwentyFourSevenOffice

  • Intunor

  • Centiga

  • Conta

  • Procountor

  • Two

  • Steddy

  • Validius

  • Puro

  • Isolta

  • Kassaturva

  • Azets

  • UniMicro

  • VismaNet

  • Duett

  • VismaEaccounting

  • VismaGlobal

  • DynamicsNav

  • DynamicsBusinessCentral

  • Lemonsoft

  • Netvisor

  • Cobrasystems

  • VismaNova

  • VismaL7

  • VismaPasseli

  • Dafo

  • Magento

  • Tehden

  • Koho

  • Allteq

  • Odoo

  • Tehoste

  • VesiOnline

  • MatFox

  • Likeit

  • AProfit

  • Maxtech

  • Fennoa

  • Ecom

  • OscarSoftware

  • Ventus

  • BookMaster

  • SKJ

  • PD3

  • VismaBusinessNext

  • Oryton

  • Bokio

  • Fortnox

  • BjornLunden

  • Ukko

  • NoCFO

  • Finnkassa

  • Vesitieto

  • VismaSpcs

  • LucaLabs

  • Rivr

  • Wrebit

  • Systima

The API response includes a session and template data that can be updated and used in the activate call.

{
    "value": {
        "sessionId": 481523,
        "creditorsData": {
            "creditors": [
                {
                    "id": null,
                    "name": "",
                    "organizationNumber": "",
                    "ssn": null,
                    "email": "postman-test@kravia.net",
                    "taxRegistered": true,
                    "vatNumber": null,
                    "bankAccount": null,
                    "bankAccountSWIFT": null,
                    "bankAccountIBAN": null,
                    "useForeignBankAccount": false,
                    "bankAccountClass": null,
                    "phoneNumber": "",
                    "city": "",
                    "postalCode": "",
                    "addressLine1": "",
                    "addressLine2": null,
                    "countryCode": "NO",
                    "addressCountryCode": "NO",
                    "headQuartersCity": null,
                    "businessUnit": null,
                    "invoiceEmail": null,
                    "isPrivateIndividual": false,
                    "suppressAllNotifications": false,
                    "invoicingSettings": {
                        "invoiceDistribution": "Email",
                        "eInvoiceSettings": {
                            "address": null,
                            "intermediator": null,
                            "organizationNumber": null
                        }
                    },
                    "kycData": null,
                    "contactPersons": null,
                    "departmentId": null
                }
            ],
            "integrationSettings": {
                "getDataFromDate": "2025-03-03T21:51:27.6264573+00:00",
                "daysAfterInvoiceDueDate": 3,
                "autoCreateCases": true,
                "collectionMinimumAmount": 100.0,
                "requireApprovalBeforeLegalAction": true,
                "invoicesStartStatus": "DEBT_COLLECTION_WARNING",
                "useVippsForOutgoingInvoice": false,
                "requireApprovalBeforeDebtCollectionNotice": false
            },
            "bookkeepingSettings": {
                "settlementMode": 0,
                "bankLedgerAccount": 1920,
                "interestFeeAccount": 8050,
                "vatAccount": 7790,
                "collectorExpensesAccount": 7790,
                "feesPaidInAdvanceAccount": 7795,
                "collectionAgencyAccount": 7210,
                "settlementHandling": "SystemDefault"
            },
            "integrationSettingsEnabled": false,
            "bookkeepingSettingsEnabled": false
        }
    },
    "successful": true,
    "errors": []
}

2. EnrichCopied!

Using the creditor data as a default, it is important to enrich it with relevant information:

  • Basic company details

    • name: Name of the company

    • organizationNumber: Organization number

    • countryCode: Country into which we will collect invoices

    • taxRegistered: Information about whether or not the creditor is VAT liable

    • email: Default contact person

    • bankAccount: Bank account to refund the creditor to

  • Integration settings holds basic information on how the integration should work

    • collectionMinimumAmount: Minimum amount to collect

{
            "creditors": [
                {
                    "name": "Company name",
                    "organizationNumber": "234080984",
                    "ssn": null,
                    "email": "contact-person@kravia.net",
                    "taxRegistered": true,
                    "vatNumber": null,
                    "bankAccount": null,
                    "bankAccountSWIFT": null,
                    "bankAccountIBAN": null,
                    "useForeignBankAccount": false,
                    "bankAccountClass": null,
                    "phoneNumber": "",
                    "city": "",
                    "postalCode": "",
                    "addressLine1": "",
                    "addressLine2": null,
                    "countryCode": "NO",
                    "addressCountryCode": "NO",
                    "headQuartersCity": null,
                    "businessUnit": null,
                    "invoiceEmail": null,
                    "isPrivateIndividual": false,
                    "suppressAllNotifications": false,
                    "invoicingSettings": {
                        "invoiceDistribution": "Email",
                        "eInvoiceSettings": {
                            "address": null,
                            "intermediator": null,
                            "organizationNumber": null
                        }
                    },
                    "kycData": null,
                    "contactPersons": null,
                    "departmentId": null
                }
            ],
            "integrationSettings": {
                "getDataFromDate": "2025-03-03T21:51:27.6264573+00:00",
                "daysAfterInvoiceDueDate": 3,
                "autoCreateCases": true,
                "collectionMinimumAmount": 100.0,
                "requireApprovalBeforeLegalAction": true,
                "invoicesStartStatus": "DEBT_COLLECTION_WARNING",
                "useVippsForOutgoingInvoice": false,
                "requireApprovalBeforeDebtCollectionNotice": false
            },
            "bookkeepingSettings": {
                "settlementMode": 0,
                "bankLedgerAccount": 1920,
                "interestFeeAccount": 8050,
                "vatAccount": 7790,
                "collectorExpensesAccount": 7790,
                "feesPaidInAdvanceAccount": 7795,
                "collectionAgencyAccount": 7210,
                "settlementHandling": "SystemDefault"
            },
            "integrationSettingsEnabled": false,
            "bookkeepingSettingsEnabled": false
        }

3. ActivateCopied!

Once you have enriched the creditor data, you can submit it to onboard the creditor

curl https://api.kravia.ai/api/v2/onboarding/activate \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: YOUR_SECRET_TOKEN' \
  --data '{
        "sessionId": 481523,
        "creditorsData": {
            "creditors": [
                {
                    "name": "Company name",
                    "organizationNumber": "234080984",
                    "ssn": null,
                    "email": "contact-person@kravia.net",
                    "taxRegistered": true,
                    "vatNumber": null,
                    "bankAccount": null,
                    "bankAccountSWIFT": null,
                    "bankAccountIBAN": null,
                    "useForeignBankAccount": false,
                    "bankAccountClass": null,
                    "phoneNumber": "",
                    "city": "",
                    "postalCode": "",
                    "addressLine1": "",
                    "addressLine2": null,
                    "countryCode": "NO",
                    "addressCountryCode": "NO",
                    "headQuartersCity": null,
                    "businessUnit": null,
                    "invoiceEmail": null,
                    "isPrivateIndividual": false,
                    "suppressAllNotifications": false,
                    "invoicingSettings": {
                        "invoiceDistribution": "Email",
                        "eInvoiceSettings": {
                            "address": null,
                            "intermediator": null,
                            "organizationNumber": null
                        }
                    },
                    "kycData": null,
                    "contactPersons": null,
                    "departmentId": null
                }
            ],
            "integrationSettings": {
                "getDataFromDate": "2025-03-03T21:51:27.6264573+00:00",
                "daysAfterInvoiceDueDate": 3,
                "autoCreateCases": true,
                "collectionMinimumAmount": 100.0,
                "requireApprovalBeforeLegalAction": true,
                "invoicesStartStatus": "DEBT_COLLECTION_WARNING",
                "useVippsForOutgoingInvoice": false,
                "requireApprovalBeforeDebtCollectionNotice": false
            },
            "bookkeepingSettings": {
                "settlementMode": 0,
                "bankLedgerAccount": 1920,
                "interestFeeAccount": 8050,
                "vatAccount": 7790,
                "collectorExpensesAccount": 7790,
                "feesPaidInAdvanceAccount": 7795,
                "collectionAgencyAccount": 7210,
                "settlementHandling": "SystemDefault"
            },
            "integrationSettingsEnabled": false,
            "bookkeepingSettingsEnabled": false
        }
    }'
{
    "value": [
        {
            "id": 52165,
            "name": "Company name",
            "organizationNumber": "234080984",
        }
    ],
    "successful": true,
    "errors": []
}

Using the creditor id from the onboarding response, we can are now ready to register invoices and collection cases

NOTE that when activating a creditor it is possible to provide multiple creditors in the API request in one goal. All creditors will then share the same settings.

This is particularly useful to allow accounting firms for example to batch onboard their entire client portfolio in one go.

Next stepCopied!

Once a creditor has been added to the Kravia system, you are ready to use our system. Note in some cases, activation of new creditors may require manual approval or KYC but Kravia will handle this process on its side. After the onboarding, you can proceed with any of the following flows:

Invite the creditor and accountant

Generate an invoice or credit note

Forward invoice to collection