Changelog

This page will list a changelog of the api's, since the first release on this platform on the 24th of August 2023.

2024-04-04:

  • EmployeeDto, CustomerDto and SupplierDto:

    • Added property SubledgerAccountId. This is the identifier of the subledgeraccount associated with the employee/customer/supplier.

2024-03-20:

  • SupplierDto:

    • Added property Payout. Boolean flag indicating whether invoices or credit notes from this supplier should be paid using remittance. Default true, and if true a remittance draft will be created when voucher are posted in the journal entry.

2024-03-13:

  • Added new client bank account dto and endpoint for retrieving client bank accounts:

    • GET /ClientBankAccounts

  • Fixed an issue with subprojects. It is no longer possible to create a subproject with a subproject set as parent project.

2024-03-06:

  • Added new branding theme dto and endpoints for retrieving branding themes:

    • GET /Brandingthemes

    • GET /Brandingthemes/{id}

2024-02-28:

  • VatSettingsDto: Added various properties, primarily related to agriculture clients

    • AlternativeVatReturnFromYear

    • AlternativeVatPeriod

    • AlternativeVatReturnType

    • RoundingAccountId

    • RoundingAccountNo

    • RoundingAccountAgricultureDepartment

    • ReportAlternativeVatReturn

    • VatAlternativeGrouping

  • Products Dto and POST dto: Added agriculture departmens:

    • OptionalSalesAccountAgricultureDepartment

    • StandardSalesAccountAgricultureDepartment

  • ProductGroups Dto and POST dto: Added agriculture departmens:

    • OptionalSalesAccountAgricultureDepartment

    • StandardSalesAccountAgricultureDepartment

  • SalesOrderLine Dto and POST dto: Added agriculture departments and adjustments to Accrual:

    • Accrual:

      • BalanceAccountAgricultureDepartment

      • ResultAccountAgricultureDepartment

      • BalanceAccountId

      • ResultAccountId

  • OutgoingInvoiceLineDto: Added agriculture department and missing id reference

    • AgricultureDepartment

    • AccountId

  • New enum:

    • VatAlterativeGrouping

2024-02-15:

  • PATCH Projects: Added support for removing contactPersonId. Resolves an issue where customerId could not be patched if the new customer did not have a contact person.

  • AccountTransactions:

    • GET: Added filtering on agricultureDepartments

    • DTO: Added the properties quantity2, agricultureDepartment, accountId, correctionOfVoucherId, reversedVoucherId

  • TrialBalanceDto: Added accountId

  • FinancialSettingsDto: Added currencyGainsAccountId and currencyLossAccountId

  • OutgoingInvoiceLineDto: Added accountId

2024-02-07:

  • PATCH SalesOrderLines: Replaced reference by accoount number with Id in the Accrual object:

    • ResultAccountNo --> ResultAccountId

    • BalanceAccountNo --> BalanceAccountId

  • Changing the agio/disagio accounts not correctly trigger the last changed property for financial settings.

2024-01-31:

  • GET /GeneralLedgerAccounts: Added filtering on agriculture departments

  • Fixes:

    • POST /Onboarding/Initiate: Whitespace now supported in the ClientOrganizationNo

    • GeneralLedgerAccounts DTO's: Added validations for properties related to agriculture clients

2024-01-24:

  • GeneralLedgerAccounts DTO's:

    • Added properties related to agriculture clients: Unit1, Unit2 and AgrucultureDepartmentCode

  • Fixes:

    • Now correctly validate that FromDate must be set before ToDate in GET /AccountTransaactions

    • Time and timezone now correctly ignored if used in filters that are dates. Documentation updated to reflect this

2024-01-17:

  • TrialBalance:

    • Added agricultureDepartment in TrialBalanceDto. (Enum representing the different agriculture departments available for agriculture clients)

    • Added filtering on agricultureDepartments in the GET operation

  • Descriptions on (many) DTO properties has been improved.

  • Removed case sensitivity on enum properties.

  • SalesOrderAttachments - added endpoint for manipulating attachments on sales orders

    • GET /SalesOrders/{salesOrderId}/attachments

    • GET /SalesOrders/{salesOrderId}/attachments/{id}

    • POST /SalesOrders/{salesOrderId}/attachments

    • DEL /SalesOrders/{salesOrderId}/attachments/{id}

  • BREAKING CHANGE: Replaced properties reference by Code/Number with Id in all PATCH dtos

    • Customers:

      • DeliveryTerm --> DeliveryTermId

      • DepartmentCode --> DepartmentId

      • InvoiceBrandingThemeCode --> InvoiceBrandingThemeId

      • PaymentTerm --> PaymentTermId

      • SalesPersonEmployeeNumber --> SalesPersonEmployeeId

    • Departments:

      • ManagerEmployeeNo --> ManagerEmployeeId

    • Employees:

      • DepartmentCode --> DepartmentId

      • LocationCode --> LocationId

      • ManagerEmployeeNo --> ManagerEmployeeId

    • GeneralLedgerAccounts:

      • DepartmentCode --> DepartmentId

    • Products:

      • OptionalSalesAccount --> OptionalSalesAccountId

      • ProductGroupCode --> ProductGroupId

      • StandardSalesAccount --> StandardSalesAccountId

    • ProductGroups:

      • OptionalSalesAccount --> OptionalSalesAccountId

      • StandardSalesAccount --> StandardSalesAccountId

    • Projects:

      • BrandingThemeCode --> BrandingThemeId

      • CustomerNo --> CustomerId

      • DeliveryTerm --> DeliveryTermId

      • DepartmentCode --> DepartmentId

      • LocationCode --> LocationId

      • ParentProjectCode --> ParentProjectId

      • PaymentTerms --> PaymentTermId

      • ProjectManagerEmployeeNo --> ProjectManagerEmployeeId

    • SalesOrderLines:

      • DepartmentCode --> DepartmentId

      • Dim1Code --> Dim1Id

      • Dim2Code --> Dim2Id

      • Dim3Code --> Dim3Id

      • LocationCode --> LocationId

      • ProductCode --> ProductId

      • ProjectCode --> ProjectId

      • SellersReferenceEmployeeNo --> SellersReferenceEmployeeId

    • SalesOrders:

      • BrandingThemeCode --> BrandingThemeId

      • CustomerNo --> CustomerId

      • DeliveryTerm --> DeliveryTermId

      • DepartmentCode --> DepartmentId

      • Dim1Code --> Dim1Id

      • Dim2Code --> Dim2Id

      • Dim3Code --> Dim3Id

      • LocationCode --> LocationId

      • PaymentTerm --> PaymentTermId

      • ProjectCode --> ProjectId

      • SalesPersonEmployeeNumber --> SalesPersonEmployeeId

2024-01-10:

  • CustomDimensionSettings - added endpoint for getting custom dimension settings on the client

    • GET /CustomDimensionSettings

  • OrganizationSettings:

    • Added DefaultAgricultureDepartment in OrganizationSettingDto. (Enum representing the different agriculture departments available for agriculture clients)

    • Added IsAgricultureClient in OrganizationSettingDto. (Bool indicating whether client is an agriculture client)

2024-01-05:

  • Projects:

    • Added departmentId in the POST dto. Id takes precedence if both departmentId and departmentCode are used in the POST

    • Added brandingThemeId in the POST dto. Id takes precedence if both brandingThemeId and brandingThemeCode are used in the POST

    • Added customerId in the POST dto. Id takes precedence if both customerId and customerNo are used in the POST

    • Added deliveryTermId in the dto and POST dto. Id takes precedence if both deliveryTermId and deliveryTerms are used in the POST

    • Added locationId in the POST dto. Id takes precedence if both locationId and locationCode are used in the POST

    • Added parentProjectId in the dto and POST dto. Id takes precedence if both parentProjectId and parentProjectCode are used in the POST

    • Added paymentTermId in the dto and POST dto. Id takes precedence if both paymentTermId and paymentTerms are used in the POST

    • Added projectManagerEmployeeId in the POST dto. Id takes precedence if both projectManagerEmployeeId and projectManagerEmployeeNo are used in the POST

  • ProductGroups:

    • Added standardSalesAccountId in the POST dto. Id takes precedence if both standardSalesAccountId and standardSalesAccount are used in the POST

    • Added optionalSalesAccountId in the POST dto. Id takes precedence if both optionalSalesAccountId and optionalSalesAccount are used in the POST

  • Employees:

    • New fields added in the dto:

      • managerEmployeeNo

      • managerEmployeeId

      • expenseBankAccountId

      • salaryBankAccountId

      • travelExpenseBankAccountId

    • POST dto updated with managerEmployeeNo and managerEmployeeId. Id takes presedence if both fields are provided in the POST operation.

    • PATCH dto updated with managerEmployeeNo

2023-12-20:

  • GeneralLedgerAccounts:

    • Added departmentId in the POST dto. Id takes precedence if both departmentId and departmentCode are used in the POST

  • Department:

    • Added managerEmployeeId in the POST dto. Id takes precedence if both managerEmployeeId and managerEmployeeNo are used in the POST

  • Product:

    • Added standardSalesAccountId in the POST dto. Id takes precedence if both standardSalesAccountId and standardSalesAccount are used in the POST.

    • Added optionalSalesAccountId in the POST dto. Id takes precedence if both optionalSalesAccountId and optionalSalesAccount are used in the POST.

    • Added productGroupId in the POST dto. Id takes precedence if both productGroupId and productGroupCode are used in the POST.

2023-12-14:

  • ContactBankAccounts - added endpoint for bank accounts associated with contacts:

    • GET /ContactBankAccounts

    • PATCH /ContactBankAccounts/{contactId}/{id}

    • DELETE /ContactBankAccounts/{contactId}/{id}

    • GET /ContactBankAccounts/{contactId}/{id}

    • POST /ContactBankAccounts/{contactId}

    • The GET /ContactBankAccounts endpoint can be used for retreiving bank accounts globally (independent from the Employee, Customer or Supplier objects)

    • Added policies that link the ContactBankAccounts privelige with the Employee, Customer and Supplier priveliges:

      • ContactBankAccounts can only be retreived for the contacts you have read or full acccess to

      • ContactBankAccounts can only be created, updated or deleted for contacts you have full access to

  • Customers:

    • Added deliveryTermId in the POST dto. Id takes precedence if both deliveryTermId and deliveryTerm are used in the POST

    • Added invoiceBrandingThemeId in the POST dto. Id takes precedence if both invoiceBrandingThemeId and invoiceBrandingThemeCode are used in the POST

    • Added paymentTermId in the POST dto. Id takes precedence if both paymentTermId and paymentTerm are used in the POST

    • Added salesPersonEmployeeId in the POST dto. Id takes precedence if both salesPersonEmployeeId and salesPersonEmployeeNumber are used in the POST

  • Employees:

    • Added locationId in the POST dto. Id takes precedence if both locationId and locationCode are used in the POST

  • SalesOrders:

    • Added brandingThemeId in the SalesOrderComplete POST dto. Id takes precedence if both brandingThemeId and brandingThemeCode are used in the POST

    • Added customerId in the SalesOrderComplete POST dto. Id takes precedence if both customerId and customerNo are used in the POST

    • Added deliveryTermId in the SalesOrderComplete POST dto. Id takes precedence if both deliveryTermId and deliveryTerm are used in the POST

    • Added dim1Id in the SalesOrderComplete POST dto. Id takes precedence if both dim1Id and dim1Code are used in the POST

    • Added dim2Id in the SalesOrderComplete POST dto. Id takes precedence if both dim2Id and dim2Code are used in the POST

    • Added dim3Id in the SalesOrderComplete POST dto. Id takes precedence if both dim3Id and dim3Code are used in the POST

    • Added locationId in the SalesOrderComplete POST dto. Id takes precedence if both locationId and locationCode are used in the POST

    • Added paymentTermId in the SalesOrderComplete POST dto. Id takes precedence if both paymentTermId and paymentTerm are used in the POST

    • Added projectId in the SalesOrderComplete POST dto. Id takes precedence if both projectId and projectCode are used in the POST

    • Added projectId in the SalesOrderLine POST dto. Id takes precedence if both projectId and projectCode are used in the POST

    • Added salesPersonEmployeeId in the SalesOrderComplete POST dto. Id takes precedence if both salesPersonEmployeeId and salesPersonEmployeeNumber are used in the POST

    • Added productId in the SalesOrderLine POST dto. Id takes precedence if both productId and productCode are used in the POST

    • Added sellersReferenceEmployeeId in the SalesOrderLine POST dto. Id takes precedence if both sellersReferenceEmployeeId and sellersReferenceEmployeeNo are used in the POST

2023-12-06:

  • SalesOrders:

    • Added dim1Id in the SalesOrderLine POST dto. Id takes precedence if both dim1Id and dim1Code are used in the POST

    • Added dim2Id in the SalesOrderLine POST dto. Id takes precedence if both dim2Id and dim2Code are used in the POST

    • Added dim3Id in the SalesOrderLine POST dto. Id takes precedence if both dim3Id and dim3Code are used in the POST

    • Added locationId in the SalesOrderLine POST dto. Id takes precedence if both locationId and locationCode are used in the POST

    • Fixed issue of event log not updating when SalesOrders was created or confirmed by POST and PATCH operations

  • Misc:

    • The UnitOfMeasureType enums are expanded with 1 new unit of measure type (FOT)

2023-11-29:

  • ContactDeliveryAddresses:

    • Added filtering on createdDateTimeOffsetGreaterThan for the GET /ContactDeliveryAddresses endpoint

  • Customer:

    • DepartmentId added in the Customer POST dto. Id takes precedence if both departmentId and departmentCode are used in the POST

  • Employee:

    • DepartmentId added in the Employee POST dto. Id takes precedence if both departmentId and departmentCode are used in the POST

  • SalesOrders:

    • Added contactDeliveryAddressId in the SalesOrderComplete POST dto and SalesOrder/{id] PATCH dto

  • Misc:

    • The UnitOfMeasureType enums are expanded with 5 new unit of measure types. (P1, MFU, KMK, LM3, FM3)

    • The UnitOfMeasureType enums now also include a norwegian description (documentation only)

2023-11-22:

  • ContactDeliveryAddresses - added endpoint for delivery addresses associated with contacts:

    • GET /ContactDeliveryAddresses

    • PATCH /ContactDeliveryAddresses/{contactId}{id}

    • DELETE /ContactDeliveryAddresses/{contactId}/{id}

    • GET /ContactDeliveryAddresses/{contactId}/{id}

    • POST /ContactDeliveryAddresses/{contactId}

  • The GET /ContactDeliveryAddresses endpoint can be used for retreiving delivery addresses globally (independent from the Employee, Customer or Supplier objects)

  • Added policies that link the ContactDeliveryAddress privelige with the Employee, Customer and Supplier priveliges:

    • ContactDeliveryAddresses can only be retreived for the contacts you have read or full acccess to

    • ContactDeliveryAddresses can only be created, updated or deleted for contacts you have full access to

  • Misc:

    • The UnitOfMeasureType enums are expanded with 21 new unit of measure types. (MMT, DAA, H18, MLT, HLT, DLT, AK, XCR, E14, MJ, J57, XJG, XCT, XSA, XTU, WEE, XCA, XCN, NAR, M4, XVQ)

2023-11-14:

  • ContactPersons: added endpoint for retreiving contactpersons globally (independent from the Customer or Supplier objects)

    • GET /ContactPersons

  • ContactPersons: Added policies that link the ContactPersons privelige with the Customer and Supplier priveliges:

    • ContactPersons can only be retreived for the contacts you have read or full acccess to

    • ContactPersons can only be created, updated or deleted for contacts you have full access to

    • ContactPersons can not be set on Employee objects or Customer/Suppliers that are persons (i.e. isPerson==true)

  • ContactPersons: Added <isDefault> in the POST and PATCH dto's, providing the ability to set the primary/default contact person for the contact object

2023-11-7:

  • SalesOrders updates:

    • DepartmentId added in the SalesOrdersComplete POST dto. Id takes precedence if both departmentId and departmentCode are used in the POST

    • DepartmentId added in the SalesOrdersLine POST dto. Id takes precedence if both departmentId and departmentCode are used in the POST

2023-11-03:

  • OpenAPI specifications updated to reflect that Enum's are nullable

  • ContactPersons - added endpoint for contact persons*:

    • GET /ContactPersons/{contactId}/{id}

    • PATCH /ContactPersons/{contactId}{id}

    • DELETE /ContactPersons/{contactId}/{id}

    • GET /ContactPersons/{contactId}

    • POST /ContactPersons/{contactId}

*Updates to the endpoints will follow soon, providing the ability to assign the default contactperson for a given contactId (customer or supplier).

2023-10-18:

  • Updated the Contact endpoints (Employees/Customers/Suppliers) with the ability to POST/PATCH contact groups, related to the release of contact group endpoints (2023-10-03)

  • Improved PATCH examples in the OpenAPI specifications

  • Added salesOrderId to the salesOrderLineDto. The lines will now allways reference the id of the sales order the lines are part of.

2023-10-12:

  • Onboarding:

    • Added support for "select all" in cases of onboarding multiple clients

    • Added support for scrollbar in the list of clients, for cases of onboarding multiple clients

    • Added info text presented to the user in cases of onboarding multiple clients: "Missing client(s) from the list? Ensure that your user have the 'organization' privelige on the client(s), and that the client(s) are active (have valid subscriptions)."

    • Added 10 second countdown before redirecting user

2023-10-03:

  • ContactGroups - added endpoint for contact groups*:

    • GET /ContactGroups/{id}

    • PATCH /ContactGroups/{id}

    • DELETE /ContactGroups/{id}

    • GET /ContactGroups

    • POST /ContactGroups

*Updates to the contact endpoints will follow soon, in order to assign contact to contact groups

2023-09-21:

  • Onboarding:

    • Added onboarding support for version 2

    • Major changes from v1:

      • Only the redirectUrl will be used (removed callbackUrl)

      • Support for onboarding multiple clients in one operation

  • Products - added endpoints for product groups:

    • GET /ProductGroups/{id}

    • PATCH /ProductGroups/{id}

    • DELETE /ProductGroups/{id}

    • GET /ProductGroups

    • POST /ProductGroups


2023-09-14:

  • Sales Orders:

    • Added PATCH /SalesOrders/{id}/Lines/{lineId}

    • Added support for precise handling of the sortOrder of lines

  • Incoming Invoices:

    • GET /IncomingInvoices:

      • Removed the filter on "voucherNoGreaterThan"

      • Added the more flexible filter "voucherNos"

      • Fixed a bug with filtering on departmentCodes

    • Added GET /IncomingInvoices/{id}

  • Misc:

    • Fixed location url's in the responses from POST/PATCH

2023-08-30:

  • Products:

    • ProductDto: Removed inherented values on ProductGroupCode, ProductGroupId and UnitOfMeasureCode. Values inherited in Go will return as null, consistent with other endpoints and dto's.

2023-08-24:

Release of the production environment and the following endpoints, grouped by definitions:

  • Accounting Settings

    • GET /Currencies

    • GET /FinancialSettings

    • GET /GeneralLedgerAccounts

    • POST /GeneralLedgerAccounts

    • PATCH /GeneralLedgerAccounts

    • DELETE /GeneralLedgerAccounts

    • GET /LockDateSettings

    • GET /SubLedgerNumberSeries

    • GET /SubLedgerNumberSeries/{id}

    • GET /VatCodes

    • GET /VatSettings

  • Account Transactions

    • GET /AccountTransactions

  • Client Integration Information

    • GET /ClientIntegrationInformation

  • Customer Ledger

    • GET /CustomerLedger/CustomerBalances

    • GET /CustomerLedger/EntriesByMatchId

    • GET /CustomerLedger/OpenItems

    • GET /CustomerLedger/Statement

  • Customers

    • GET /Customers/{id}

    • PATCH /Customers/{id}

    • DELETE /Customers/{id}

    • GET /Customers

    • POST /Customers

  • Custom Dumensions

    • GET /CustomDimensions/{id}

    • PATCH /CustomDimensions/{id}

    • DELETE /CustomDimensions/{id}

    • GET /CustomDimensions

    • POST /CustomDimensions

  • Departments

    • GET /Departments/{id}

    • PATCH /Departments/{id}

    • DELETE /Departments/{id}

    • GET /Departments

    • POST /Departments

  • Employees

    • GET /Employees/{employeeId}

    • PATCH /Employees/{employeeId}

    • DELETE /Employees/{employeeId}

    • GET /Employees

    • POST /Employees

    • GET /Employees/{employeeId}/HourlyRates/{hourltRateId}

    • PATCH /Employees/{employeeId}/HourlyRates/{hourltRateId}

    • DELETE /Employees/{employeeId}/HourlyRates/{hourltRateId}

    • GET /Employees/{employeeId}/HourlyRates

    • POST /Employees/{employeeId}/HourlyRates

  • Incoming Invoices

    • GET /IncomingInvoices

  • Locations

    • GET /Locations/{id}

    • PATCH /Locations/{id}

    • DELETE /Locations/{id}

    • GET /Locations

    • POST /Locations

  • Outgoing Invoices

    • GET /OutgoingInvoices/{id}

    • GET /OutgoingInvoices/{id}/Lines

    • GET /OutgoingInvoices

  • Organization Settings

    • GET /ClientContacts

    • GET /OrganizationSettings

  • Products

    • GET /Products/{id}

    • PATCH /Products/{id}

    • DELETE /Products/{id}

    • GET /Products

    • POST /Products

  • Projects

    • GET /Projects/{id}

    • PATCH /Projects/{id}

    • DELETE /Projects/{id}

    • GET /Projects

    • POST /Projects

  • Sales Orders

    • GET /SalesOrders/{id}/Complete

    • POST /SalesOrders/Complete

    • GET /SalesOrders/{id}

    • PATCH /SalesOrders/{id}

    • DELETE /SalesOrders/{id}

    • GET /SalesOrders

    • GET /SalesOrders/{id}/Lines

    • POST /SalesOrders/{id}/Lines

    • DELETE /SalesOrders/{id}/Lines/{lineId}

    • GET /SalesOrders/{id}/Lines/{lineId}

  • Sales Settings

    • GET /DeliveryTerms/{id}

    • PATCH /DeliveryTerms/{id}

    • DELETE /DeliveryTerms/{id}

    • GET /DeliveryTerms

    • POST /DeliveryTerms

    • GET /PaymentTerms/{id}

    • PATCH /PaymentTerms/{id}

    • DELETE /PaymentTerms/{id}

    • GET /PaymentTerms

    • POST /PaymentTerms

  • Supplier Ledger

    • GET /SupplierLedger/CustomerBalances

    • GET /SupplierLedger/EntriesByMatchId

    • GET /SupplierLedger/OpenItems

    • GET /SupplierLedger/Statement

  • Suppliers

    • GET /Suppliers/{id}

    • PATCH /Suppliers/{id}

    • DELETE /Suppliers/{id}

    • GET /Suppliers

    • POST /Suppliers

  • Trial Balance

    • GET /TrialBalance