Skip to main content
Connectors

Finago Procountor connector

Set up the Finago Procountor connector in Kaivo: authentication, configuration, the 15 BigQuery tables it syncs, and answers to common questions.

Written By Lauri Raivio

Last updated 16 days ago

Kaivo is a fully managed data platform that syncs your Finago Procountor data into a Google BigQuery warehouse and keeps it up to date automatically. There is no pipeline to build and no infrastructure to run, so you can spend your time analysing your payment and finance data instead of moving it.

What is the Finago Procountor connector

Sync your Procountor accounting data into BigQuery with Kaivo to report on invoices, ledgers, and financials alongside the rest of your business.

CategoryFinance & Payments, ERP
AuthenticationOAuth or API key
SetupSelf-service

Getting started with the Finago Procountor connector

  1. Sign up for Kaivo and create a workspace.
  2. Connect your Finago Procountor account.
  3. Choose which tables to sync.
  4. Wait for the initial sync to finish.
  5. Query your data in BigQuery or your favourite AI or BI tool.

Authenticating Finago Procountor

The Finago Procountor connector supports 2 ways to connect. Pick the one that fits how you work.

Sign in with Procountor

Connect by signing in to your Procountor account. Kaivo runs the connection for you, so you never share a password.

API key of technical API user account

Authenticate with your API key.

FieldDescription
API key

An API key is attached to a Procountor user. A good practice is to create a separate technical API user account for this. To create a user (if it doesn't already exist):

  1. Go to Procountor's Users and privileges settings
  2. Click "Create new user"
  3. Set First name = "Kaivo", Last name = "API", Email address = any email that doesn't exist, User name = any user name that doesn't exist, Username and password = "Deliver to user personally", Role = "Manager / Auditor", Person register = "Do not add or link user to person register", Email from procountor = uncheck all checkboxes
  4. When the user has been created, there's no need to save user name or password anywhere as the user will never need to log in.

To create an API key:

  1. Go to API client keys settings
  2. Click "New API key"
  3. Select the newly created user "API, Kaivo" and write "kaivoAPIClient" to Client ID field (asiakasohjelmiston tunniste)

Prerequisites

To be able to use this connector, first make sure "Allow the usage of invoiceable API clients" setting is enabled in Procountor's Usage settings.

Tables and columns synced from Finago Procountor

Kaivo syncs 15 tables from Finago Procountor into a dedicated dataset in your BigQuery warehouse. Click any table to see its columns and types.

ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
ledger_account_codeSTRINGLedger account code.
nameSTRINGLedger account name.
activeBOOLIndicates whether the ledger account is active or not.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: accounts__translations

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
language_codeSTRINGLanguage code in ISO 639-1 format.
translationSTRINGLedger account name translation for the given language code.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier of the bank account.
account_numberSTRINGUnique bank account number in BBAN format. Generated from IBAN.
ibanSTRINGIBAN number for the bank account. Cannot be changed once created.
bicSTRINGBIC code for the bank account. Not mandatory while creation, can be generated from IBAN.
bank_nameSTRINGThe name of the bank.
currencySTRINGThe currency of the bank account. Cannot be changed once created.
default_for_invoiceBOOLInformation if the bank account is used as default bank account for invoice in the given environment.
default_for_paymentBOOLInformation if the bank account is used as default bank account for payment in the given environment.
statusSTRINGInformation if the bank account is active or not. If set to INACTIVE then all properties will be set to false
order_noINT64Order number. Can be used for display ordering instead of ID.
versionTIMESTAMPCompany bank account version timestamp. Automatically generated by Procountor and updated every time the partner is modified. When using PUT /bankaccounts, it is required to include the latest version timestamp of the partner to the request. This prevents conflicts if the partner is being modified from several sources.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: bank_accounts__associated_accounts

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
typeSTRINGType of associated account number.
account_numberSTRINGAssociated account number.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier of the bank statement.
account_numberSTRINGAccount number for which the statement is generated.
start_dateDATEStart date of the bank statement.
end_dateDATEEnd date of the bank statement.
currencySTRINGCurrency of the bank statement in ISO 4217 format.
number_of_depositsINT64Number of deposits during the bank statement period.
deposit_sumFLOAT64Sum of the deposits.
number_of_withdrawalsINT64Number of withdrawals during the bank statement period.
withdrawal_sumFLOAT64Sum of the withdrawals.
start_balanceFLOAT64Start balance of the account before this bank statement.
end_balanceFLOAT64End balance of the account after this bank statement.
statement_numberINT64Number of bank statement.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Id of the partner group.
nameSTRINGName of the partner group.
typeSTRINGType of the partner group.
activeBOOLIs partner group active? NOTE: If the business partner group is in use in the debt collection settings for the Maksuvahti service, Ropo service or is set as the automatic distraint authority group, then it can't be set to inactive
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier of the partner.
nameSTRINGName of the partner.
typeSTRINGType of the partner.
address__nameSTRINGName ("first line") in the address.
address__specifierSTRINGSpecifier, such as c/o address.
address__streetSTRINGStreet.
address__zipSTRINGZip code.
address__citySTRINGCity.
address__countrySTRINGCountry.
address__subdivisionSTRINGSubdivision of the city
billing_address__nameSTRINGName ("first line") in the address.
billing_address__specifierSTRINGSpecifier, such as c/o address.
billing_address__streetSTRINGStreet.
billing_address__zipSTRINGZip code.
billing_address__citySTRINGCity.
billing_address__countrySTRINGCountry.
billing_address__subdivisionSTRINGSubdivision of the city
delivery_address__nameSTRINGName ("first line") in the address.
delivery_address__specifierSTRINGSpecifier, such as c/o address.
delivery_address__streetSTRINGStreet.
delivery_address__zipSTRINGZip code.
delivery_address__citySTRINGCity.
delivery_address__countrySTRINGCountry.
delivery_address__subdivisionSTRINGSubdivision of the city
invoicing_info__customer_numberSTRINGCustomer number of the partner.
invoicing_info__identifierSTRINGIdentifier of the partner.
invoicing_info__identifier_typeSTRINGIdentifier type of the partner.
invoicing_info__ovtSTRINGOVT of the partner.
invoicing_info__invoice_channelSTRINGInvoice channel of the partner.
invoicing_info__contact_personSTRINGContact person of the partner.
invoicing_info__languageSTRINGLanguage of the partner.
invoicing_info__emailSTRINGEmail of the partner.
invoicing_info__deny_einvoice_remindersBOOLDoes the customer deny Procountors sending of payment reminders as e-invoice
invoicing_info__order_referenceSTRINGOrder reference
invoicing_info__seller_reference_identifierSTRINGSeller reference identifier. Supported only in Finnish environments.
invoicing_info__buyer_reference_identifierSTRINGBuyer reference identifier. Supported only in Finnish environments.
invoicing_info__order_numberSTRINGOrder number. Supported only in Finnish environments.
invoicing_info__agreement_numberSTRINGAgreement number. Supported only in Finnish environments.
invoicing_info__accounting_codeSTRINGAccounting code. Supported only in Finnish environments.
invoicing_info__delivery_siteSTRINGDelivery site. Supported only in Finnish environments.
invoicing_info__tender_referenceSTRINGTender reference. Supported only in Finnish environments.
invoicing_info__einvoice_addressSTRING
invoicing_info__einvoice_operatorSTRING
additional_info__default_additional_informationSTRINGDefault additional information of the partner.
additional_info__default_referenceSTRINGDefault reference of the partner.
additional_info__groupSTRINGGroup.
additional_info__parent_company_id_typeSTRINGCompany ID of the partner. If provided partnerCompanyId will be validated according to the type.
additional_info__parent_company_idSTRINGParent company ID of the partner.
additional_info__auxiliary_company_nameSTRINGAuxiliary company name.
additional_info__former_company_nameSTRINGFormer company name of the partner.
additional_info__sectorSTRINGSector of the partner.
additional_info__web_addressSTRINGWeb address of the partner.
additional_info__comments1STRINGFirst comment
additional_info__comments2STRINGSecond comment
additional_info__invoice_periodSTRINGInvoice period of the partner.
additional_info__withholding_register_markingSTRINGWithholding register marking of the partner.
additional_info__invoice_ledgerSTRINGInvoice ledger of the partner. If not provided, it will be automatically set to INVOICE_LEDGER.
payment_info__factoring_contract_idINT64Factoring contract ID of the partner.
payment_info__payment_methodSTRINGPayment method of the partner. The DKLMPKRE method is deprecated and read only, DOMESTIC_PAYMENT_CREDITOR should be used instead.
payment_info__bank_accountSTRINGBank account ID of the partner.
payment_info__payment_term_daysSTRINGPayment term days of the partner.
payment_info__payment_term_percentageFLOAT64Payment term percentage of the partner.
payment_info__penal_interest_rateFLOAT64Penal interest rate of the partner.
payment_info__discount_percentageFLOAT64Discount percentage of the partner.
payment_info__cash_discount__cash_discounts_term_typeSTRINGThe payment term type indicates the start point for payment due date calculation.On Danish environment, may select between two options: FROM_INV_DATE or FROM_END_OF_MONTH.For other environments, the only selectable term type is FROM_INV_DATE,which is also the default value across all environments.
payment_info__currencySTRINGCurrency of the partner.
payment_info__delivery_methodSTRINGDelivery method of the partner.
payment_info__clearing_codeSTRINGClearing code of the bank account.
payment_info__bicSTRINGBIC of the bank account.
payment_info__customer_account_numberSTRINGCustomer account number used only for NETS payments
registry_info__activeBOOLStatus of the partner.
registry_info__phoneSTRINGPhone number of the partner.
registry_info__mobile_phoneSTRINGMobile phone number of the partner.
registry_info__faxSTRINGFax number of the partner.
registry_info__sectionSTRINGSection of the partner.
registry_info__home_municipalitySTRINGHome municipality of the partner.
registry_info__report_groupSTRINGReport group name of the partner.
registry_info__report_group_idINT64Report group id of the partner.
versionTIMESTAMPBusiness partner version timestamp. Automatically generated by Procountor and updated every time the partner is modified. When using PATCH /businesspartners, it is required to include the latest version timestamp of the partner to the request. This prevents conflicts if the partner is being modified from several sources.It is not required for POST and will be omitted
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: business_partners__invoicing_info__bcc_addresses

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: business_partners__attachments

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier of the attachment. Generated by Procountor and present in the object returned.
nameSTRINGAttachment name. Include a correct file extension to the value.
reference_typeSTRINGReference type of the attachment. Indicates what object is the owner of the attachment. Exception: for JOURNAL type ledger receipts, use type INVOICE.
reference_idINT64Unique identifier of the referenced object. Exception: for JOURNAL type ledger receipts, use the value of invoiceId referring to the associated invoice.
mime_typeSTRINGMime type of the attachment. Determined from the file extension.
send_with_invoiceBOOLIndicator if attachment has to be send with the invoice. 'sendWithInvoice' can be set only for receipt types: SALES_INVOICE, SALES_ORDER, PURCHASE_ORDER
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: business_partners__contact_persons

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Contact person ID.
nameSTRINGName of contact person.
emailSTRINGEmail of contact person.
phoneSTRINGPhone of contact person.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: business_partners__payment_info__cash_discount__option_list

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
number_of_daysINT64Days specified in cash discount
discount_percentageFLOAT64Discount percentage specified in cash discount
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: business_partners__registry_info__partner_groups

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Id of the partner group.
nameSTRINGName of the partner group.
typeSTRINGType of the partner group.
activeBOOLIs partner group active? NOTE: If the business partner group is in use in the debt collection settings for the Maksuvahti service, Ropo service or is set as the automatic distraint authority group, then it can't be set to inactive
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Dimension ID. Required in PUT
nameSTRINGDimension name.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: dimensions__items

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Dimension item ID. Required in PUT
code_nameSTRINGDimension item code name.
statusSTRINGDimension item status. If the dimension item is marked as active, this property is not present. If the dimension item is inactive, the value of this is property is "P".
descriptionSTRINGDimension item description.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier of the fiscal year.
start_dateDATEStart date of the fiscal year.
end_dateDATEEnd date of the fiscal year
modifiedTIMESTAMPTime of last edition of fiscal year.
is_openBOOLWhether the fiscal year is open (true) or closed (false).
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: fiscal_years__tracking_periods

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier of the tracking period.
start_dateDATEStart date of the tracking period.
end_dateDATEEnd date of the tracking period.
statusSTRINGStatus of the tracking period.
modifiedTIMESTAMPTime of last edition of tracking period.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier of the invoice. Generated by Procountor and present in the object returned.
partner_idINT64Technical ID for the business partner. Used to link the invoice to a customer or supplier in the business partner register. If supplied, the company must have this partner ID in the corresponding register. This field is not editable in PUT /invoices endpoint.
typeSTRINGInvoice type. Note that this affects validation requirements. PERIODIC_TAX_RETURN is supported only by GET /invoices endpoint. It's not supported by PUT and POST /invoices endpoints.
statusSTRINGInvoice status. A new invoice created through the API will have its status set as UNFINISHED. Updating invoice is possible when its status is UNFINISHED. Updating expense claim, purchase, purchase order and travel invoice is possible when the status is UNFINISHED or RECEIVED. PUT /invoices endpoint is not able to change invoice status.
dateDATEInvoice date. This is synonymous to billing date.
due_dateDATEInvoice payment due date.
new_due_dateDATEInvoice payment new due date.
payment_dateDATEDate of the latest payment transaction related to the invoice. Set automatically when payments are made and can't be modified directly.
counter_party__contact_person_nameSTRINGName of the contact person.
counter_party__identifierSTRINGSALES_INVOICE, SALES_ORDER, PURCHASE_INVOICE and PURCHASE_ORDER only. Business ID or national identification number.
counter_party__tax_codeSTRINGSALES_INVOICE and SALES_ORDER, PURCHASE_INVOICE and PURCHASE_ORDER only. Tax code of the customer.
counter_party__customer_numberSTRINGSALES_INVOICE, SALES_ORDER, PURCHASE_INVOICE and PURCHASE_ORDER only. Customer number.
counter_party__emailSTRINGSALES_INVOICE, SALES_ORDER and PURCHASE_ORDER only. Email address of the buyer. Required to be correct if supported.
counter_party__counter_party_address__nameSTRINGName ("first line") in the address.
counter_party__counter_party_address__specifierSTRINGSpecifier, such as c/o address.
counter_party__counter_party_address__streetSTRINGStreet.Required for SALES_INVOICE and SALES_ORDER if invoicing channel is MAIL.In that case, must be specified in counterPartyAddress if not specified in billingAddress.Required for SALES_INVOICE if invoicing channel is ELECTRONIC_INVOICE. In that case,must be specified in billingAddress and counterPartyAddress.
counter_party__counter_party_address__zipSTRINGZip code.Required for SALES_INVOICE and SALES_ORDER if invoicing channel is MAIL.In that case, must be specified in counterPartyAddress if not specified in billingAddress.Required for SALES_INVOICE if invoicing channel is ELECTRONIC_INVOICE. In that case,must be specified in billingAddress and counterPartyAddress.
counter_party__counter_party_address__citySTRINGCity.Required for SALES_INVOICE and SALES_ORDER if invoicing channel is MAIL.In that case, must be specified in counterPartyAddress if not specified in billingAddress.Required for SALES_INVOICE if invoicing channel is ELECTRONIC_INVOICE. In that case,must be specified in billingAddress and counterPartyAddress.
counter_party__counter_party_address__countrySTRINGCountry.
counter_party__counter_party_address__subdivisionSTRINGSubdivision of the city
counter_party__bank_account__account_numberSTRINGBank account IBAN. If using a financing agreement, the account number must match the account of the specified financing agreement. The account number must be valid for the specified country, include country code and exclude any spaces.
counter_party__bank_account__bicSTRINGBank account BIC/SWIFT. Not supported for SALES_INVOICE and SALES_ORDER.
counter_party__einvoice_address__operatorSTRINGSALES_INVOICE Only. Operator code. Required if the invoiceChannel is ELECTRONIC_INVOICE and country is FINLAND.
counter_party__einvoice_address__addressSTRINGSALES_INVOICE Only. EInvoice Address. Required if the invoiceChannel is ELECTRONIC_INVOICE, format must be valid for the specified country.
counter_party__einvoice_address__edi_idSTRINGSALES_INVOICE Only. EDI identifier. Used if the invoiceChannel is ELECTRONIC_INVOICE and country is FINLAND.
billing_address__nameSTRINGName ("first line") in the address.
billing_address__specifierSTRINGSpecifier, such as c/o address.
billing_address__streetSTRINGStreet.Required for SALES_INVOICE and SALES_ORDER if invoicing channel is MAIL.In that case, must be specified in counterPartyAddress if not specified in billingAddress.Required for SALES_INVOICE if invoicing channel is ELECTRONIC_INVOICE. In that case,must be specified in billingAddress and counterPartyAddress.
billing_address__zipSTRINGZip code.Required for SALES_INVOICE and SALES_ORDER if invoicing channel is MAIL.In that case, must be specified in counterPartyAddress if not specified in billingAddress.Required for SALES_INVOICE if invoicing channel is ELECTRONIC_INVOICE. In that case,must be specified in billingAddress and counterPartyAddress.
billing_address__citySTRINGCity.Required for SALES_INVOICE and SALES_ORDER if invoicing channel is MAIL.In that case, must be specified in counterPartyAddress if not specified in billingAddress.Required for SALES_INVOICE if invoicing channel is ELECTRONIC_INVOICE. In that case,must be specified in billingAddress and counterPartyAddress.
billing_address__countrySTRINGCountry.
billing_address__subdivisionSTRINGSubdivision of the city
delivery_address__nameSTRINGName ("first line") in the address.
delivery_address__specifierSTRINGSpecifier, such as c/o address.
delivery_address__streetSTRINGStreet.
delivery_address__zipSTRINGZip code.
delivery_address__citySTRINGCity.
delivery_address__countrySTRINGCountry.
delivery_address__subdivisionSTRINGSubdivision of the city
payment_info__payment_methodSTRINGPayment method. Methods other than BANK_TRANSFER, CASH, CLEARING may require fields not supported by the API. The DIRECT_DEBIT method is not supported by POST /invoices and PUT /invoices endpoints. The DKLMPKRE method is deprecated and read only, DOMESTIC_PAYMENT_CREDITOR should be used instead.
payment_info__currencySTRINGCurrency of the payment in ISO 4217 format.
payment_info__bank_account__account_numberSTRINGBank account IBAN. If using a financing agreement, the account number must match the account of the specified financing agreement. The account number must be valid for the specified country, include country code and exclude any spaces.
payment_info__bank_account__bicSTRINGBank account BIC/SWIFT. Not supported for SALES_INVOICE and SALES_ORDER.
payment_info__due_dateDATEPayment due date. The payment term can be 0-999 days.
payment_info__new_due_dateDATEPayment new due date.
payment_info__currency_rateFLOAT64Currency exchange rate. Calculated as the amount of one unit of domestic currency in foreign currency. Only foreign currency payments should have a value other than 1.
payment_info__payment_term_percentageFLOAT64Discount percentage set in term of payment. Determines the discount if the invoice is paid before due date.
payment_info__cash_discount__cash_discounts_term_typeSTRINGThe payment term type indicates the start point for payment due date calculation.On Danish environment, may select between two options: FROM_INV_DATE or FROM_END_OF_MONTH.For other environments, the only selectable term type is FROM_INV_DATE,which is also the default value across all environments.
payment_info__bank_reference_codeSTRINGPayment reference code. If specified, must be a valid reference code where the last digit is a check digit. If the field is given an empty string value, a reference code is automatically generated by Procountor. If the field is not provided at all, no reference code will be assigned to the invoice.
payment_info__bank_reference_code_typeSTRINGReference code generation type. If type not allowed for a user country will be given, then 400 is returned
payment_info__clearing_codeSTRINGReceiver bank's clearing code for foreign payments.
delivery_terms_info__nameSTRINGName for terms of delivery.
delivery_terms_info__municipalitySTRINGDelivery place
extra_info__accounting_by_rowBOOLIndicates if accounting by row is used (true) or not (false). Accounting by row means that a separate ledger transaction is created for each invoice row.
extra_info__unit_prices_include_vatBOOLIndicates if the unit prices on invoice rows include VAT (true) or not (false).
discount_percentFLOAT64Invoice discount percentage. Scale: 4.
order_referenceSTRINGOrder reference of the invoice. This will be copied to the payment as message if no reference code is specified.
invoice_numberINT64Invoice number generated by Procountor. For custom invoice numbers, see the originalInvoiceNumber property.
vat_statusINT64Invoice VAT status. Required for all invoices except travel invoices and expense claims.
original_invoice_numberSTRINGInvoice number from the biller in an external system.
delivery_start_dateDATEFirst day of the delivery period.
delivery_end_dateDATELast day of the delivery period.
delivery_methodSTRINGDelivery method for the goods. SALES_INVOICE and SALES_ORDER do not support type OTHER.
delivery_instructionsSTRINGDelivery instructions.
invoice_channelSTRINGChannel of distribution for the invoice. Values EDIFACT and PAPER_INVOICE are not allowed for POST /invoices and PUT /invoices endpoints.
invoice_operator_info__operatorSTRINGInvoice operator.
invoice_operator_info__receiving_addressSTRINGReceiving address of operator.
penalty_percentFLOAT64Penal interest rate. Scale: 2.
languageSTRINGLanguage of the invoice. Required for sales invoices and sales orders, otherwise ignored.
invoice_template_idINT64SALES_INVOICE and SALES_ORDER only. ID of invoice template.
additional_informationSTRINGInvoice notes containing additional information. Visible on the invoice. Use \n as line break.
vat_countrySTRINGCountry code describing which country's VAT standards are being used. Usage of foreign VAT settings must be agreed on separately with Procountor. Required if the company uses foreign VATs. Example value: SWEDEN.See Address.country in POST/PUT /invoices for a list of allowable values
ledger_receipt_idINT64ID of the ledger receipt linked to this invoice. A ledger receipt is linked to every invoice for holding its accounting information. For defining ledger accounts, dimensions or VAT status regarding the invoice, modify the ledger receipt. See PUT /ledgerreceipts for more info.
notesSTRINGInvoice notes (seller's/buyer's notes). Not visible on the invoice. Use \n as line break.
factoring_contract_idINT64SALES_INVOICE and SALES_ORDER only. ID for external financing agreement. The bankAccount.accountNumber specified must match the one used by the specified financing agreement. Financing agreements cannot be used with cash payments.
factoring_textSTRINGSALES_INVOICE and SALES_ORDER only. Additional notes about external financing agreement.
sumFLOAT64Only for invoice type PERIODIC_TAX_RETURN. Ignored for other types. Contains the total sum of invoice. POST and PUT operation cannot assign/modify value of this property.
order_numberSTRINGOrder number. Valid only in Finnish environments for SALES_INVOICE and PURCHASE_INVOICE.
agreement_numberSTRINGAgreement number. Valid only in Finnish environments for SALES_INVOICE and PURCHASE_INVOICE.
accounting_codeSTRINGAccounting code. Valid only in Finnish environments for SALES_INVOICE and PURCHASE_INVOICE.
delivery_siteSTRINGDelivery site. Valid only in Finnish environments for SALES_INVOICE and PURCHASE_INVOICE.
tender_referenceSTRINGTender reference. Valid only in Finnish environments for SALES_INVOICE and PURCHASE_INVOICE.
buyer_reference_identifierSTRINGBuyer reference. Valid only in Finnish environments for SALES_INVOICE and PURCHASE_INVOICE.
seller_reference_identifierSTRINGSeller reference. Valid only in Finnish environments for SALES_INVOICE and PURCHASE_INVOICE.
createdTIMESTAMPCreation timestamp of the invoice. Automatically generated by Procountor.
versionTIMESTAMPInvoice version. This field is required in the PUT /invoices/{invoiceId} endpoint.
creator_idINT64Invoice owner's user ID.
is_offerBOOLIt marks invoice as an offer. It is applicable only to SALES_ORDER type of invoices.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices__counter_party__bcc_addresses

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices__payment_info__cash_discount__option_list

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
number_of_daysINT64Days specified in cash discount
discount_percentageFLOAT64Discount percentage specified in cash discount
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices__invoice_rows

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier for a invoice row.
product_idINT64Unique identifier for a product. Links the invoice row to a product in the product register. Note that all other fields (name, price, ...) of an invoice row can be modified independently of the information in the product register. If one wants to use accounts from product register, accountingByRow must be true.
productSTRINGProduct name.
product_codeSTRINGProduct code.
quantityFLOAT64Product quantity.
unitSTRINGProduct unit.
unit_priceFLOAT64Product unit price. This value is affected by the "unit prices include VAT" setting on the invoice.
discount_percentFLOAT64Product discount percentage.
vat_percentFLOAT64Product VAT percentage. Must be a percentage currently in use for the company.
vat_statusINT64Product VAT status.
commentSTRINGInvoice row comment. Visible on the invoice. Use \ as line break.
start_dateDATEStart date of accrual/delivery periods of invoice row.
end_dateDATEEnd date of accrual/delivery periods of invoice row.
header_textSTRINGHeader text of the content row associated with invoice row. Supported in sales offer, sales order and sales invoice.
explanation_textSTRINGExplanation text of the content row associated with invoice row. Supported in sales offer, sales order and sales invoice.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices__travel_information_items

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
departureSTRINGTravel departure date. Free text.
arrivalSTRINGTravel return date. Free text.
placesSTRINGTravel destinations. Free text.
purposeSTRINGTravel purpose. Free text.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices__invoice_approval_information__acceptors

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
user_idINT64User ID of the given checker. If invoice checker is given then this field is required
event_performedDATETime when event was performed. Not present if event has not been performed.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices__invoice_approval_information__verifiers

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
user_idINT64User ID of the given checker. If invoice checker is given then this field is required
event_performedDATETime when event was performed. Not present if event has not been performed.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices__attachments

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier of the attachment. Generated by Procountor and present in the object returned.
nameSTRINGAttachment name. Include a correct file extension to the value.
reference_typeSTRINGReference type of the attachment. Indicates what object is the owner of the attachment. Exception: for JOURNAL type ledger receipts, use type INVOICE.
reference_idINT64Unique identifier of the referenced object. Exception: for JOURNAL type ledger receipts, use the value of invoiceId referring to the associated invoice.
mime_typeSTRINGMime type of the attachment. Determined from the file extension.
send_with_invoiceBOOLIndicator if attachment has to be send with the invoice. 'sendWithInvoice' can be set only for receipt types: SALES_INVOICE, SALES_ORDER, PURCHASE_ORDER
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices__invoice_sum_info

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
currencySTRINGAccounting currency set for the environment or some other currency set in the invoice in ISO 4217 format.
in_accounting_currencyBOOLTrue if the sum is in accounting currency.
excluding_vat_totalFLOAT64Total Excluding VAT for all invoice rows.
vat_sum_totalFLOAT64Total VAT sum for all invoice rows.
invoice_sum_totalFLOAT64Sum of excludingVatTotal and vatSumTotal in accounting currency or invoice currency.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier of the invoice.
partner_idINT64Business partner id. Used to link the invoice to a customer or supplier in the business partner register.
typeSTRINGInvoice type.
statusSTRINGInvoice status.
invoice_numberINT64Invoice number generated by Procountor.
original_invoice_numberSTRINGInvoice number from the biller in an external system.
invoice_channelSTRINGChannel of distribution for the invoice.
dateDATEInvoice date. This is synonymous to billing date.
due_dateDATEInvoice payment due date.
new_due_dateDATEInvoice payment new due date.
createdTIMESTAMPCreation timestamp of the invoice. Automatically generated by Procountor.
versionTIMESTAMPInvoice version timestamp. Automatically generated by Procountor and updated every time the invoice is modified.
creator_idINT64Invoice owner's user ID.
counter_party__contact_person_nameSTRINGName of the contact person.
counter_party__identifierSTRINGSALES_INVOICE, SALES_ORDER, PURCHASE_INVOICE and PURCHASE_ORDER only. Business ID or national identification number.
counter_party__tax_codeSTRINGSALES_INVOICE and SALES_ORDER, PURCHASE_INVOICE and PURCHASE_ORDER only. Tax code of the customer.
counter_party__customer_numberSTRINGSALES_INVOICE, SALES_ORDER, PURCHASE_INVOICE and PURCHASE_ORDER only. Customer number.
counter_party__emailSTRINGSALES_INVOICE, SALES_ORDER and PURCHASE_ORDER only. Email address of the buyer. Required to be correct if supported.
counter_party__counter_party_address__nameSTRINGName ("first line") in the address.
counter_party__counter_party_address__specifierSTRINGSpecifier, such as c/o address.
counter_party__counter_party_address__streetSTRINGStreet.Required for SALES_INVOICE and SALES_ORDER if invoicing channel is MAIL.In that case, must be specified in counterPartyAddress if not specified in billingAddress.Required for SALES_INVOICE if invoicing channel is ELECTRONIC_INVOICE. In that case,must be specified in billingAddress and counterPartyAddress.
counter_party__counter_party_address__zipSTRINGZip code.Required for SALES_INVOICE and SALES_ORDER if invoicing channel is MAIL.In that case, must be specified in counterPartyAddress if not specified in billingAddress.Required for SALES_INVOICE if invoicing channel is ELECTRONIC_INVOICE. In that case,must be specified in billingAddress and counterPartyAddress.
counter_party__counter_party_address__citySTRINGCity.Required for SALES_INVOICE and SALES_ORDER if invoicing channel is MAIL.In that case, must be specified in counterPartyAddress if not specified in billingAddress.Required for SALES_INVOICE if invoicing channel is ELECTRONIC_INVOICE. In that case,must be specified in billingAddress and counterPartyAddress.
counter_party__counter_party_address__countrySTRINGCountry.
counter_party__counter_party_address__subdivisionSTRINGSubdivision of the city
counter_party__bank_account__account_numberSTRINGBank account IBAN. If using a financing agreement, the account number must match the account of the specified financing agreement. The account number must be valid for the specified country, include country code and exclude any spaces.
counter_party__bank_account__bicSTRINGBank account BIC/SWIFT. Not supported for SALES_INVOICE and SALES_ORDER.
counter_party__einvoice_address__operatorSTRINGSALES_INVOICE Only. Operator code. Required if the invoiceChannel is ELECTRONIC_INVOICE and country is FINLAND.
counter_party__einvoice_address__addressSTRINGSALES_INVOICE Only. EInvoice Address. Required if the invoiceChannel is ELECTRONIC_INVOICE, format must be valid for the specified country.
counter_party__einvoice_address__edi_idSTRINGSALES_INVOICE Only. EDI identifier. Used if the invoiceChannel is ELECTRONIC_INVOICE and country is FINLAND.
is_offerBOOLIndicates whether the invoice is an offer.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices_basic__invoice_sum_info

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
currencySTRINGAccounting currency set for the environment or some other currency set in the invoice in ISO 4217 format.
in_accounting_currencyBOOLTrue if the sum is in accounting currency.
excluding_vat_totalFLOAT64Total Excluding VAT for all invoice rows.
vat_sum_totalFLOAT64Total VAT sum for all invoice rows.
invoice_sum_totalFLOAT64Sum of excludingVatTotal and vatSumTotal in accounting currency or invoice currency.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices_basic__counter_party__bcc_addresses

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier of the ledger receipt. Generated by Procountor and present in the object returned.
typeSTRINGLedger receipt type. Use JOURNAL for creating ledger receipts (vouchers) containing ledger transactions without linkage to pre-existing resources. Other types are automatically generated by Procountor for holding accounting information for e.g. invoices. Types allowed for POST = JOURNAL. Types allowed for PUT = JOURNAL, SALES_INVOICE, PURCHASE_INVOICE, TRAVEL_INVOICE, BILL_OF_CHARGES Types allowed for GET listed below
statusSTRINGLedger receipt status. Status of a ledger receipt equals the status of the linked invoice. All ledger receipts are initially created with status UNFINISHED. For journals, possible statuses are UNFINISHED, APPROVED and INVALIDATED. Ledger receipt statuses cannot be directly modified through the API.
nameSTRINGLedger receipt name.
receipt_dateDATELedger receipt date. Must not be in a closed fiscal period. See GET /fiscalyears for a list of fiscal years.
vat_typeSTRINGLedger receipt VAT type.
vat_statusINT64Ledger receipt VAT status. This can be overridden on transaction level. Use here the numeric parts of VAT status codes listed in "VAT defaults" in Procountor. For example, for VAT status code "vat_12", use value 12. The VAT status used must be enabled for the current receipt type (sales/purchase).
vat_processingSTRINGLedger receipt VAT country. Only for JOURNAL types of ledger receipts. Requires a special right for foreign VATs. See Address.country in POST /invoices for a list of allowable values.
invoice_idINT64ID of the linked invoice. For sales and purchase invoice ledger receipts, this refers to the invoice the receipt holds accounting data for. For journal receipts, an invoice is automatically generated to store certain data fields. Use this ID in POST /attachments endpoint.
receipt_numberINT64Number of the ledger receipt.
invoice_notesSTRINGInvoice notes. Linked to Invoice.notes. Not visible on ledger receipt printouts. Use \n as line break. Max length 10000.
invoice_numberINT64Number of the linked invoice. Automatically generated by Procountor.
accountants_notesSTRINGNotes made by the accountant. Visible on ledger receipt printouts.
transaction_descriptionSTRINGTransaction description. This is a summary description for any transactions belonging to the ledger receipt.
receipt_validitySTRINGReceipt validity time.
period_start_dateDATEStart date of the receipt period. If set, must precede the end date of the period.
period_end_dateDATEEnd date of the receipt period. If this and the start date are set, this must be after the start date.
partner_idINT64Technical ID for the business partner. Link the related invoice to a customer or supplier in the business partner register. If supplied, the company must have this partner ID in the corresponding register.
partner_codeSTRINGPartner code. Identifier for the related company or person. May represent a business ID, national identification number (HETU in Finland) or an account number, depending on the receipt type.
serial_number__seriesSTRINGLedger receipt series.
serial_number__numberINT64Ledger receipt serial number.
createdTIMESTAMPCreation timestamp of the ledger receipt. Automatically generated by Procountor.
versionTIMESTAMPLedger receipt version timestamp. Automatically generated by Procountor and updated every time the receipt is modified. When using PUT /ledgerreceipts, it is required to include the latest version timestamp of the receipt to the request. This prevents conflicts if the receipt is being modified from several sources.
depreciationSTRINGAccounting depreciation method for the receipt.
vat_dateDATEVAT date to be used if payment based VAT is enabled
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: ledger_receipts__transactions

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier for the ledger transaction. Automatically generated by Procountor and present in the object returned.
transaction_typeSTRINGTransaction type. Depends on the transaction and the ledger account in question. Type REVERSING_ENTRY is used to indicate the first row of a ledger receipt for a specific logic on the UI. Typically, it represents a transaction for a balance sheet account. Note that ledger receipts with no transactions marked as reversing entries are possible. Type ENTRY is the general type for transactions. It can be used even on the first rows of ledger receipts. Type RECONCILIATION_ENTRY is used for getting the sum of transactions on a receipt to reconcile (to equal zero). Generally, all ledger receipts should reconcile. Procountor can create reconciliation entries automatically for ledger receipts when "createReconciliation=true" query parameter is specified. If VAT is used, a reconciliation row might be necessary due to remainders and rounding. For both REVERSING_ENTRY and RECONCILIATION_ENTRY transactions, vatStatus cannot be defined and vatPercent must be 0. Additionally, a ledger can have maximum of one REVERSING_ENTRY and maximum of one RECONCILIATION_ENTRY transaction. Transactions of these types cannot be removed from a ledger receipt using UI once created.
accountSTRINGLedger account number for the transaction. Must be valid for the current Procountor environment. Use GET /coa to obtain the chart of accounts.
accounting_valueFLOAT64Transaction accounting value. This value is net. It will be automatically rounded up to scale 2.
vat_percentFLOAT64Transaction VAT percentage. Must be a percentage currently in use for the company.
vat_typeSTRINGTransaction VAT type.
vat_statusINT64Transaction VAT status. This overrides the VAT status set for the parent ledger receipt. Use here the numeric parts of VAT status codes listed in "VAT defaults" in Procountor. For example, for VAT status code "vat_12", use value 12. The VAT status used must be enabled for the current receipt type (sales/purchase).
descriptionSTRINGTransaction description. Visible on ledger receipt printouts.
balance_codeSTRINGTransaction balance code. Only available if the use balance sheet setting is enabled.
partner_idINT64Technical ID for the partner. Can be provided in Norwegian environments only. The given partner id must match a partner of type different than PERSON, existing in the current Procountor environment.
vat_deduction_percentFLOAT64VAT deduction percentage for the transaction.
start_dateDATEStart date of accrual/delivery periods of transaction.
end_dateDATEEnd date of accrual/delivery periods of transaction.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: ledger_receipts__transactions__allocations

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueINT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: ledger_receipts__transactions__dimension_item_values

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
dimension_idINT64Dimension ID. Must exist in the current environment. For a list of available dimensions, see the GET /dimensions endpoint.
item_idINT64Dimension item ID. Must exist in the current environment. For a list of available dimensions, see the GET /dimensions endpoint.
valueFLOAT64Dimension item value with maximum two decimal places. Use absolute values instead of percentages. The sum of dimension item values on a dimension must equal the accounting value of the parent transaction.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: ledger_receipts__attachments

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier of the attachment. Generated by Procountor and present in the object returned.
nameSTRINGAttachment name. Include a correct file extension to the value.
reference_typeSTRINGReference type of the attachment. Indicates what object is the owner of the attachment. Exception: for JOURNAL type ledger receipts, use type INVOICE.
reference_idINT64Unique identifier of the referenced object. Exception: for JOURNAL type ledger receipts, use the value of invoiceId referring to the associated invoice.
mime_typeSTRINGMime type of the attachment. Determined from the file extension.
send_with_invoiceBOOLIndicator if attachment has to be send with the invoice. 'sendWithInvoice' can be set only for receipt types: SALES_INVOICE, SALES_ORDER, PURCHASE_ORDER
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier for the ledger receipt.
typeSTRINGLedger receipt type.
statusSTRINGLedger receipt status.
nameSTRINGLedger receipt name.
receipt_dateDATELedger receipt date.
receipt_numberINT64Number of the ledger receipt.
invoice_numberINT64Number of the linked invoice. Automatically generated by Procountor.
serial_number__seriesSTRINGLedger receipt series.
serial_number__numberINT64Ledger receipt serial number.
createdTIMESTAMPCreation timestamp of the ledger receipt. Automatically generated by Procountor.
versionTIMESTAMPLedger receipt version timestamp. Automatically generated by Procountor and updated every time the ledger receipt is modified.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique payment identifier.
invoice_idINT64Unique invoice identifier.
payment_dateDATEDate specifying when the payment transaction has to be performed.
amountFLOAT64The amount of the payment in the given currency. Currency is defined within the invoice.
receiver_nameSTRINGRecipient name.
statusSTRINGPayment status.
service_chargeSTRINGIf not provided, for Finnish foreign payment it will be automatically set to BOTH_PAY_OWN_FEES.
paid_amountFLOAT64Payment amount in paid currency.
paid_currencySTRINGCurrency of the payment in paid currency in ISO 4217 format.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Product group id.
nameSTRINGProduct group name.
typeSTRINGProduct type.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64Unique identifier of the product. Generated by Procountor.
typeSTRINGProduct type: to which kind of invoices the product can be assigned.
nameSTRINGProduct name.
codeSTRINGCustom code assigned by the owner of the product.
unitSTRINGProduct unit.
discountFLOAT64Product discount percentage.
priceFLOAT64Product price.
vatFLOAT64Product VAT percentage.
activeBOOLProduct status.
default_accountSTRINGDefault ledger account for the product.
vat_statusINT64Product VAT status. Allowed VAT statuses are available under GET /vats/default
currencySTRINGCurrency for the product in ISO 4217 format.
product_group_idINT64Product group ID.
start_dateDATEGet start date for the product. Used by TRAVEL type only.
end_dateDATEGet end date for the product. Used by TRAVEL type only.
bookkeeping_accountSTRINGGet bookkeeping account code for the product. Used by TRAVEL type only.
versionTIMESTAMPProduct version timestamp. Automatically generated by Procountor and updated every time the product is updated.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: products__product_localizations

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
languageSTRINGProduct language
product_nameSTRINGProduct name
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
vat_statusINT64VAT status ID
descriptionSTRINGVAT status description
salesBOOLIs VAT status allowed for sales
purchaseBOOLIs VAT status allowed for purchase
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

How the Finago Procountor sync works

After the first load, Kaivo keeps your BigQuery warehouse up to date for you. Where Finago Procountor supports it, each sync pulls only new and changed records so it stays fast; otherwise it refreshes the whole table. Every record keeps its original ID, so you won't get duplicate rows.

Frequently asked questions

How long does the initial sync take for Finago Procountor?

It depends on how much history is in your Finago Procountor account. Most initial syncs finish within minutes, while large accounts can take a few hours. After that, syncs only fetch new and changed records, so they're much faster.

Can I sync only some tables or columns?

Yes. You pick which tables to sync when you set up the connection and can change the selection later. Tables you don't select are never copied to your warehouse.

What happens when Finago Procountor's schema changes?

New fields are never added automatically. You choose which fields to sync, so data you haven't selected (sensitive personal data, for example) never lands in your warehouse. When a new field appears, it becomes available for you to add. What happens to removed or renamed fields depends on a table's sync mode: full-refresh tables always match what's currently in Finago Procountor, so dropped fields disappear, while incremental tables keep their existing columns and history, so an old field stays and newly added fields fill in over time.

How do I handle GDPR or data deletion requests?

Your data lives in your own Kaivo-managed BigQuery warehouse, so the most direct option is to delete or anonymise specific records right in BigQuery. If you delete data in Finago Procountor instead, full-refresh tables drop it on the next sync, while incremental tables keep it, so you would remove the row in BigQuery or ask us to run a full refresh. To remove everything, delete the Finago Procountor connector in Kaivo and all of its synced data is deleted with it.

Common use cases for Finago Procountor data

Financial reporting

Build profit and loss and balance reporting from your Procountor ledger data.

Invoicing and cash flow

Track sales and purchase invoices to monitor receivables, payables, and cash flow.

Combine with sales

Join Procountor financials with sales or CRM data in BigQuery for a full picture.

Period comparisons

Report on financials over time to compare months, quarters, and years.

Use Finago Procountor data in your AI and BI tools

Once Finago Procountor data lands in your Kaivo-managed BigQuery warehouse, you can explore it with AI tools or any BI tool that connects to BigQuery. Here's how the most common destinations work with Finago Procountor data.

Claude

Use Kaivo's MCP server to give Claude secure, workspace-scoped access to your data. Setup guide →

Power BI

Microsoft's BI tool with a native BigQuery connector. Supports direct query and scheduled refresh. Setup guide →

Data Studio

Free Google BI tool with native BigQuery support. One-click connection to your Kaivo warehouse; great for SMB teams on Google Workspace. Setup guide →

Tableau

The premium analytics standard, with native BigQuery integration. Setup guide →

Google Sheets

Use Connected Sheets to query BigQuery directly from a spreadsheet, with no SQL. Setup guide →

Excel

Connect via Power Query's BigQuery connector. Setup guide →

Metabase

Open-source BI tool with strong BigQuery support. Setup guide →

See our pricing page for Finago Procountor connector pricing and plan details.

Was this helpful?

Still need help? Share an idea