Skip to content

Master data

So that users can enter valid account assignments, invoiceR needs the master data from the ERP: accounts, cost centers, suppliers and more. It is usually imported automatically and regularly, see Master data import and ERP plugins.

Master dataTechnical nameContent
AccountsAccountsLedger accounts with description, default VAT code and balance sheet flag
Cost centersCostcentersCost centers with description and responsible person
Account/cost centerAccountCostCentersWhich accounts may be combined with which cost centers
Account groupsAccountGroups, CostCenterAccountGroupsGroupings of accounts, also per cost center
ProjectsProjectsProjects with number and name
SuppliersSuppliersSuppliers (creditors) with address, UID and defaults such as terms of payment and VAT code
Payment methodsPaymentMethodsBank or postal connections of a supplier (IBAN, account, BIC)
Terms of paymentTermsOfPaymentNet period and up to two discount levels
VAT codesVatCodesVAT codes with rate and country
VAT matrixVatCodesMatrixWhich VAT code applies to which cost center and account range
CurrenciesCurrencyExchangeRatesCurrencies and exchange rates

Depending on the ERP and installation there is further master data, for example articles, orders, deliveries, cost units or vehicles.

All master data belongs to an organization unit (technically IrOrganizationUnitId). If a tenant has several company codes, invoiceR keeps the master data separate per organization unit. During import, invoiceR assigns each record through the external ID of the organization unit.

Every imported record carries in the field Source the source stated in the import configuration (default External). An import only compares records with the same source. This way several imports can fill the same master data side by side without overwriting or deleting each other’s records.

On every run, the import has to decide whether a delivered record is new or changes an existing one. For this it builds a key from the fields in MappingKeys. If the key matches an existing record, that record is updated, otherwise a new one is created.

The MappingKeys are part of the import job configuration:

{
"Source": "ERP",
"MappingKeys": ["IrOrganizationUnitId", "Number"]
}

Recommended MappingKeys:

Master dataMappingKeys
Accounts (Accounts)IrOrganizationUnitId, Number
Cost centers (Costcenters)IrOrganizationUnitId, Number
Projects (Projects)IrOrganizationUnitId, Number
Suppliers (Suppliers)IrOrganizationUnitId, Number
Terms of payment (TermsOfPayment)IrOrganizationUnitId, Number
Payment methods (PaymentMethods)IrOrganizationUnitId, SupplierNumber, Number
VAT codes (VatCodes)IrOrganizationUnitId, Code
VAT matrix (VatCodesMatrix)IrOrganizationUnitId, CostCenterNumber, AccountNumberBegin, AccountNumberEnd
Account/cost center (AccountCostCenters)IrOrganizationUnitId, AccountNumber, CostCenterNumber
Account groups (AccountGroups)IrOrganizationUnitId, AccountNumber, Group
Cost center account groups (CostCenterAccountGroups)IrOrganizationUnitId, CostCenterNumber, Group
Currencies (CurrencyExchangeRates)CurrencyCode, plus IrOrganizationUnitId for rates per organization unit
Customer cases (CustomerCases)IrOrganizationUnitId, Number

If the ERP delivers the same record with different validity periods (for example a VAT code whose rate changes from a certain date), also add ValidFrom and ValidTo to the MappingKeys:

"MappingKeys": ["IrOrganizationUnitId", "Code", "ValidFrom", "ValidTo"]

What happens to records that are no longer delivered

Section titled “What happens to records that are no longer delivered”

If an existing record is missing from a delivery, the file import marks it as deleted (setting DeleteNotDeliveredRecords, default true). Users can no longer select deleted records; documents that already have an account assignment keep their values.

If a deleted record appears again later, the import creates a new one by default. With ReactivateDeletedRecords: true it reactivates the existing record instead.

You find further settings under Master data import.