- Added new endpoint '/ledger/vatSettings' with GET and PUT method for reading and updating the VAT settings of the currently logged in company. Supported setting now is 'vatRegistrationStatus' (both read and update). This is the status for the company's registration in the Norwegian VAT register ('Merverdiavgiftsregisteret').
- Possible values for the registration status are: VAT_NOT_REGISTERED (not registered in Merverdiavgiftsregisteret), VAT_APPLICANT (application to be registered has been sent to Merverdiavgiftsregisteret, VAT_REGISTERED (registered), VAT_COMPENSATION (a special case of registered, where VAT compensation will be used)
- See existing endpoint /vatTermSizeSettings for reading and updating the length of the VAT term
- Added
voucherfield toProjectOrderLineDTO, which is for vouchers that order lines are connected to, whose numbers are visible in the project order line tab in the GUI.
- Added
vendorfield toOrderlineDTOfor wholesaler information.
- Added new endpoints for free accounting dimensions (aka 'user defined dimensions'). These are available for customers with the Pro package or above, but not for Smart or Basis.
- AccountingDimensionName: this represents a dimension that you create, it contains the name of the dimension and some other attributes. You can create up to 3 dimensions, identified by index 1, 2 and 3. When you create a dimension, it's always given the next available index, up to the 3 allowed
- AccountingDimensionValue: this represents the values that you can choose for each dimension.
- The API key must have the role "Regnskapsinnstillinger, kontoplan og historisk balanse" / "Accounts settings, chart of accounts and historical balance" to do POST or PUT against these endpoints. Reading the values does not require any special roles.
- If free dimensions are used when booking a voucher, this will be visible as freeAccountingDimension1, freeAccountingDimension2, freeAccountingDimension3 in the PostingDTO. These are now writeable, so they can be used in for instance POST /ledger/voucher when crating vouchers from the API (see release note for version 2.72.05)
- These are also available for filtering in GET /ledger/posting
- Added
minStockLevelfield toProductDTOfor stock items in the Logistics Basics module.
- Added PUT /ledger/posting/:closePostings to closing postings.
- Added freeAccountingDimension1, freeAccountingDimension2, freeAccountingDimension3 to PostingDTO object. This will contain free dimension values and is currently read-only.
- Changes to
PUT /v2/contactanfPOST /v2/contact- Possible to edit
isInactivefield.
- Possible to edit
- Added new field "Asset" to the PostingDTO:
- Asset represents fixed assets as used in the Fixed asset register ("Eiendel" i Anleggsregisteret). PostingDTO is used in endpoints like /ledger/voucher, /legder/posting etc. Existing endpoint
GET /asset/{id}/postingscan be used to fetch postings connected to a specific asset.
- Asset represents fixed assets as used in the Fixed asset register ("Eiendel" i Anleggsregisteret). PostingDTO is used in endpoints like /ledger/voucher, /legder/posting etc. Existing endpoint
- Added new endpoint:
GET /voucherInbox/inboxCountto get numbers of items in the voucher inbox.
- Added new endpoint:
GET /transportTypewhich allows customers to search the transport type for a purchase order by supplier.
- Migrated over to OpenAPI v3 (from Swagger v2).
- Our specification has moved to https://tripletex.no/v2/openapi.json
- All modern up to date code generators should work out of the box with the new version of the specification.
- Expect some minor non-semantic changes
- Added new endpoint
GET /ledger/postingByDatefor retrieving postings by date range with pagination. This endpoint provides better performance than the standard/ledger/postingendpoint for date-based queries.- Requires access to all vouchers
- If access control for salary information is activated, also requires access to wage info
- Parameters:
dateFrom(required),dateTo(required),count(optional) - Does not support
fieldsorchangesparameters - Returns the same
PostingDTOstructure as/ledger/posting
- Added new structure 'specificationSupplement' to the 'specification' of the 'payslip' of the salary transaction, with fields 'carRegNumber' and 'carListPrice' to allow for salary types that require this information.
- Added a new fields
purchasePriceCurrencyto get the product price in currency (affects supplier products) andpriceInTarget currencyto get product price in specific currency toProductDTO.
- We have moved our api test environment! Our old environment was at
api.tripletex.io, this environment has been discontinued and deprecated. Please move over to our new environment atapi-test.tripletex.tech. - Added HMAC support for delivering webhooks.
- When posting a new webhook subscription, set a shared secret in the
hmacSharedSecret. - If a shared hmac secret is set we will sign webhook payloads with a HMAC-SHA512 signature.
- Calculation is
header('x-request-signature') = base64(HmacSHA512(header('idempotency-key') + '&' + body))
- When posting a new webhook subscription, set a shared secret in the
- Added a new field
orderLineSortingtoPurchaseOrderDTOto allow sorting of order lines within a purchase order.
- Changes to
PUT {id}/:createCreditNote- Deprecate
sendToCustomer - Added
sendTypequery parameter
- Deprecate
unitPriceExcludingVatCurrencyandunitPriceIncludingVatCurrencyon OrderLine are not rounded to 2 decimals every time anymore, the fields support up to 10 decimals.
Changes to POST /order, PUT /order, POST /order/orderline and PUT /order/orderline
- Automatically calculate
unitPriceIncludingVatCurrencyif onlyunitPriceExcludingVatCurrencyis provided - Automatically calculate
unitPriceExcludingVatCurrencyif onlyunitPriceIncludingVatCurrencyis provided
- Added a new field
customSortIndextoPurchaseOrderlineDTOto support custom sorting of purchase order lines using a non-negative integer.
- Added new read-only field
hasWholesalerExportUsertoPurchaseOrderDTOavailable only on demand to check if wholesaler supplier has integration credentials
- Added new read-only field
isRoundPriceIncVattoProductDTO
- Changes to
POST /customerandPUT /customer/{id}/.- Add possibility to include/update
invoiceSMSNotificationNumberonCustomerDTO
- Add possibility to include/update
- Changes to
POST /orderandPUT /order/{id}.- Allow updating
invoiceSMSNotificationNumberonOrderDTO
- Allow updating
- Added
deliveryCommentparameter to search for orders inGET order
- Changes to
POST /customerandPUT /customer/{id}/- Allow updating
isInactiveonCustomerDTO
- Allow updating
- Changes to
POST /supplierandPUT /supplier/{id}/- Allow updating
isInactiveonSupplierDTO
- Allow updating
- Added new endpoint:
PUT /inventory/stocktaking/productline/{id}/:changeLocation.This endpoint allows updating the location of an order line during the stocktaking process.
- Changes to PUT
/invoice/{id}/:createReminder- Added query parameters -
dispatchTypes,email,address,postalCodeandcity - Deprecated query parameter -
dispatchType
- Added query parameters -
- Allowing to use already existing deliveryAddresses on
POST /customerandPUT /customer/{id}. - Added
customerVendorfield to theDeliveryAddressDTO.
- Supplier endpoint to support
languagesetting and getting just like customer endpoint
- Added new postingRule
accountRoundDiffIdto postingRules endpoint.
- Added new read only attribute 'businessActivityTypeId' to the DepartmentDTO. A posting done with a given departmentId, will belong to the business activity type defined on the department. See 'defaultBusinessActivityTypeId' in the /ledger/PostingRules endpoint for behaviour when 'businessActivityTypeId' is not defined on the department.
- Added new endpoint yearEnd/enumType/businessActivityTypes. This provides the list of business activity types. These are used to classify accounting data for tax reporting purposes, and also to separate between general and primary VAT reports
- Added new fields to the DTO returned by GET /ledger/postingRules. These attributes shows if multiple industries are activated in the Tripletex account (this is needed for having both the general and the primary VAT report, and for some tax reporting purposes), as well as what the default business activity type is when multiple industries are activated.
- Add new read-only field
isProxytoEmployeeDTO
- Added two new endpoints for Logistics Basic customers who activated the Available inventory functionality
PUT /order/orderline/{id}/:pickLinePUT /order/orderline/{id}/:unpickLine
- Added new method to
/currencyendpoint. Returns the amount in the company currency, where the input amount is in fromCurrency, using the newest exhange rate available for the given date
- Add new field
isPickedin OrderLineDTO - Pick and unpick orderLines based on
statusfrom OrderDTO. PICKED status - will pick all of the lines and CANCELLED status - will unpick all of the lines
- Added new endpoint '/ledger/postingRules'. The posting rules defined which accounts from the chart of accounts that are used for postings when the system creates postings. In this version the id of the sub ledgers (customer, vendor, employee) are exposed, and only GET is supported.
- New field in
OrderLineobject calledorderedQuantity, that can be used by the Logistics customers who have the Backorder functionality activated
- Added new field
rackbeatAgreementNumbertoLogisticsSettingsDTO
- Changes to
GET /company/settings/altinn, now returns "***********" when the company has an AltinnPassword
- Add new fields in
TravelExpenseZoneDTOfromDate(inclusive)toDate(inclusive)currencyId
- Add new query params to
GET /travelExpense/zonedate, getting the valid zones based onfromDateandtoDatequery, searching bycountryCodeorzoneName
- New ordering of
GET /travelExpense/zonebased onzoneName - New API for all available Pension Providers
/pensionthat can be connected to/salary/settings/pensionScheme
- Add API endpoint /vatTermSizeSettings for specifying VAT term sizes.
- Add new field
departmenttoAccountDTO
- Added
POST /contact/listendpoint for batch creating new contacts
- Added ordering to
department/query(orders by number, then by name)
- Add new field
isRemoveAccessAtEmploymentEndedtoEmploymentDTO
- Add new field
discountPercentagetoOrderDTO - Add new field
markUpOrderLinestoOrderDTO
- Add new field
statustoOrderDTO - Add new field
websitetoCustomerDTO - Add new field
websitetoSupplierDTO
- Add new field
OrderGroupstoOrderDTO - Add new query param
updateLinesAndGroupstoPUT /Order/{id}
- Add new field
discountPercentagetoCustomerDTO
- Add API endpoint for searching for result budgets for multiple projects, departments, employees or products.
- GET
/resultbudget
- GET
- Added endpoints to upload and delete attachments on salary
- PUT
/salary/transaction/{id}/attachment - POST
/salary/transaction/3746350/attachment/list - POST
/salary/transaction/3746350/attachment
- PUT
- Change "Send PO by email" API to send data as
bodyistead ofQuery Params
- Added DELETE endpoint to
Order
- Added /asset/upload API endpoint for importing assets in Excel format.
- Added to depreciationAccountId, lifetimeInMonths, incomingBalance, accumulatedDepreciation to Asset.
stockOfGoodsfromProductresource will only be available on demand
- Added new endpoint
GET municipality/query
- Updated InvoiceDTO by adding a new InvoiceRemarkDTO and deprecating the old invoiceRemarks field.
Added sendToCustomer param to the invoice endpoint :createCreditNote
- Added PUT endpoint for EmployeePreferences
- New field in EmployeePreferencesDTO
language
- New field in SupplierInvoiceDTO
outstandingAmount
- New field in PurchaseOrderlineDTO
supplierProduct
- Add "query" param for
GET /inventoryto be able searching by name
- Added new endpoint:
GET /employee/employment/occupationCode/{id} - New field for search
GET /employee/employment/occupationCode idfilter based on OccupationCode ids
- New field invoicingDepartment in AccountDTO
- Added endpoint for downloading reminder pdf:
/reminder/{reminderId}/pdf
- Deprecating
typeOfStocktakingfield in/inventory/stocktaking
POST order/:invoiceMultipleOrderssupports fieldsendToCustomer
POST order/:id/invoicesupports fieldssendTypeandoverrideEmailAddress
- Deprecating
isDeletablefield inproductendpoint. Field will always return false for other consumers then Tripletex Web or App.
- Added new endpoint fore reading, creating and deleting opening balances: 'ledger/voucher/openingBalance' with GET, POST and DELETE. The opening balance is a starting point for accounting in Tripletex, where existing balance and sub-ledger values can be defined.
- Added new internal fields for
ProductLineDTO:counted,counter,dateCountedandexpectedStock - Added new read-only field for
ProductLineDTO:location
- Added new query params
queryandproductGroupIdsfor search method inProductLineAPI
- Added endpoints for CompanyStandardTime:
salary/settings/standardTime - Added new endpoint
GET employee/standardTime/byDate
- Added endpoint DrivingStop (post, get, delete)
- Added fields requiresDepartment and requiresProject to AccountDTO
- Added new endpoint:
DELETE /contact/list. It takes a comma separated list of contacts ids
- New field in ProductDTO
mainSupplierProduct
- New field in SupplierProductDTO
isMainSupplierProduct
- Deprecated
discountPricefromProductresource
- New field for search GET
/employeefilter based onemail
- Added webhooks for account.create, account.update and account.delete
- Added field saftCode to ledger/account POST , GET and PUT
- Added field externalVoucherNumber to ledger/voucher POST and PUT
- Added new field in VoucherDTO:
supplierVoucherType
- Deprecated
GET product/externalendpoint please useGET product/external/queryorGET product/external/{id}.
- Added new field in SupplierDTO:
isEfoNelfoMerchant
- Added endpoint for ResourcePlanBudget
GET /project/resourcePlanBudget
- New field in CurrencyDTO
isDisabled
- New field in ProductPriceDTO
purchasePriceCurrency
- Added parameter
showOnlyLastPricetoGET product\pricemethod
- Added new PurchaseOrderline endpoints:
POST /purchaseOrder/orderline/listPUT /purchaseOrder/orderline/listDELETE /purchaseOrder/orderline/list
- Added new fields to PurchaseOrder:
internalCommentreceivedDatelastSentTimestamplastSentEmployeeName
- Added new field to PurchaseOrderline:
unitListPriceCurrency
- Added field
isFactoringtoCustomer.
- Added fields
accountNumberFromandaccountNumberToinLedger/posting
- Added field
sequencetoTravelCostCategoryDTO.
- Removed field
employeefromAddress.
- Added parameter
AVTALEGIROto the URL parametersendTypefor the endpointPUT /invoice/{id}/:send. - This allows integrations to send invoices as AvtaleGiro.
- Added field
invoiceOnAccountVatHightoOrder - Added field
totalInvoicedOnAccountAmountAbsoluteCurrencytoOrder
- Added field
currencytoCompany
- Added new query parameters
paidAmountAccountCurrency,paymentTypeIdRestAmountandpaidAmountAccountCurrencyResttoPOST /order/{id}/:invoice. This is to support prepaid amount where invoice currency is different to payment account currency and to support prepaid amount with two different payment types.
- Added field
useProductNetPricetoProject - Added field
ignoreCompanyProductDiscountAgreementtoProject
- API endpoint for creating historical vouchers. These are vouchers created outside Tripletex, and should be from closed accounting years. The intended usage is to get access to historical transcations in Tripletex. Also creates postings. All amount fields in postings will be used. VAT postings must be included, these are not generated automatically like they are for normal vouchers in Tripletex.
POST /ledger/voucher/historical/historicalPOST /ledger/voucher/historical/employeePOST /ledger/voucher/historical/{voucherId}/attachmentPUT /ledger/voucher/historical/:closePostingsPUT /ledger/voucher/historical/:reverseHistoricalVouchersPUT /ledger/vatType/createRelativeVatType
- Added field
ledgerAccounttoCustomerandSupplier- This is used on
Multiple Ledgersto specify ledger account on customers and suppliers.
- This is used on
- Added field
canCreateBackordertoOrder
- Added field
sendMethodDescriptiontoOrder
- Added field
externalReftoPosting. The field contains an external reference for identifying payment basis of the posting, e.g., KID, customer identification or credit note number.
- Fixed a bug in
POST /invoice/listintroduced in2.68.10where the operation would fail because of duplicate order creations.
- Added field "changedSince" to
GET /customer
- Added field "createBackOrder" to '/order/{id}/:invoice'
- Added inventory id to response for
GET /inventory/inventories
- Fixed bug that did not create orderLines if included in
POST /order
- Added validation on
/employee/employmentforstartDateso it can no longer be changed to after thedateof the secondemploymentDetails
- Added query parameters
createOnAccount,amountOnAccount, andonAccountCommentto PUT/order/{id}/:invoice
- Added fields
amortizationAccount,amortizationStartDate, andamortizationEndDatetoPostingDTO
- Added new query parameter
voucherDatetoPUT /supplierInvoice/voucher/{id}/postings. Allows changing the date of the voucher connected to this supplier invoice: "If set, the date of the voucher and the supplier invoice will be changed to this date. If empty, date will not be changed"
- Added
PUT /supplierInvoice/{invoiceId}/:changeDimensionfor changing of project, department, employee, and product on debit postings for a supplier invoice.
- Added field
isInactivetoDepartment
- Added
GET /ledger/voucher/>externalVoucherNumberto find vouchers based on the external voucher number.
- Added
POST /purchaseOrder/{id}/attachment/list - Added
DELETE /purchaseOrder/{id}/attachment
- Added
GET /saft/exportSAFTfor exporting a SAF-T file of the Tripletex account.
- Added
GET /product/discountGroup - Added
GET /product/discountGroup/{id}- - Added
POST /product/{id}/image - Added
DELETE /product/{id}/image - Added field
discountGrouptoProduct - Added field
weighttoProduct - Added field
weightUnittoProduct - Added field
volumetoProduct - Added field
volumeUnittoProduct - Added field
imagetoProduct
- Added
POST /saft/importSAFTfor importing SAF-T files into Tripletex.
- Added
GET /project/controlFormType - Added
GET /project/controlFormType/{id} - Added
GET /project/settings - Added
PUT /project/settings
- Added field
costPercentagetoActivityDTO
- Added
departmenttoContact - New field for search GET
/contactfilter based ondepartment
- New GET
/project/template/{id}endpoint
- New field for search GET
/inventory/inventoryLocationfilter based onname
- Bulk endpoints for
SubscriptionPUT /event/subscription/listPOST /event/subscription/listDELETE /event/subscription/list
- New fields for search
GET /product/inventoryLocationinventoryIdfilter based on Inventory idsisMainLocationfilter based on InventoryLocation that are marked as main locations.
- Added
basisPercentageandrelativeVatTypetoVatTypeDTO!
- Added read-only field
documenttoPurchaseOrder - Added read-only field
attachmenttoPurchaseOrder - Added read-only field
ediDocumenttoPurchaseOrder - Added
POST /purchaseOrder/{id}/attachment
- Added model
PickupPoint - Added
GET /pickupPoint - Added
GET /pickupPoint/{id} - Added field
pickupPointtoPurchaseOrder
- New field in
GET /inventory/locationfieldisInactive. Makes it possible to search for InventoryLocations based active / inactive.
- New field in
GET /voucherStatusfieldstatus. Make it possible to search for voucherStatuses filtered by status. - New field in
GET /voucherStatusfieldtype. Make it possible to search for voucherStatuses filtered by type. - Change
GET /invoicefieldvoucherIdto take a comma separated list of voucherIds
- New field in
POST /supplierInvoice/{invoiceId}/:addPaymentpartialPayment. Adding multiple payments are now only possible when settingpartialPaymentto true.
- Deprecated field
bankAccountsonCustomerDTOandSupplierDTO. - Introduced new field
bankAccountPresentationonCustomerDTOandSupplierDTO. This can now be used to create/update and read bankAccount information connected to a customer or supplier.
- Added endpoint
ledger/voucher/>voucherReception
New resultbudget endpoints:
- GET:
/resultbudget/company - GET:
/resultbudget/department/{id} - GET:
/resultbudget/project/{id} - GET:
/resultbudget/product/{id} - GET:
/resultbudget/employee/{id}
- Added new query params
typeOfVatandvatDateonGET /ledger/vatType. If you for example specifyOUTGOINGas the type of VAT, you will only get VAT types that the company has access to (from the vat-settings of the company) and is of the provided type.vatDatewill default to today's date if not specified. - Added new field
legalVatTypesonAccountDTO. This is a list of legal VAT types that you can use on the actual account.
- The checksum feature is now only used if the client specifies the
If-None-Matchheader
- Added new endpoint: product/inventoryLocation (GET, POST, PUT, DELETE)
- Added field
inventoryLocationtoGoodsReceiptLineDTO,OrderLineDTOandProjectOrderLineDTOOnly available for users that have activated the Logistics Pluss Beta-program
- Added field
invoiceCommenttoProjectDTO
- Added query param
assignableProjectManagersto/employee(GET) endpoint
- Removed deprecated field
deductionsfromSalaryCompilationDTO, which affectssalary/compilationendpoint
- Added new readonly postingType
OUTGOING_INVOICE_CUSTOMER_POSTINGtoPostingDTO
- Can now set
deliveryAddressfield inProjectDTO(no longer readonly)
- Added fields
orderLinesandtravelReportstoInvoiceDTO
- Added field
attentiontoProjectDTO - Added field
referencetoProjectDTO - Can now set
contactfield inProjectDTO(no longer readonly)
- Added new endpoint: product/logisticsSettings (GET, PUT)
Only available for users that have activated the Logistics Pluss Beta-program
- Added Attachment of earnings (tax) to
salary/compilationendpoint
- Added new endpoint to
order/orderLine(PUT)
- Added new endpoint:
addPaymenttoSupplierInvoiceAPI - Removed authorization on call to GET
/event
- Added new readonly postingType
INVOICE_EXPENSEtoPostingDTO
- Add EmployeeDTO as readonly property
senderin/voucherMessageendpoint.
- Add
comment,message,externaObjectUrlandreferenceNumbertoVoucherStatusDTO - Add
attachmentstoOrderDTO - Added
employeeCategorytoEmployeeDTO - Added new endpoint:
employee/category(GET, POST, PUT, DELETE) - Added new endpoint:
employee/category/list(POST, PUT, DELETE)
- Added new endpoint:
product/productPrice(GET)
- Add field
preliminaryInvoicetoOrderDTO - Open
/Invoicefor preliminary invoices
Updated existing and created new endpoints for changes in a-melding from January 2021:
- Added field employmentEndReason to /employment endpoint
- Added field employmentForm to /employment/details endpoint
- Added new endpoints /salary/settings/pensionScheme (GET, PUT, POST, DELETE)
- Added new endpoint:
voucherMessage(POST, GET)
- Added the fields
creditedInvoiceandisCreditedto the/invoiceendpoints
- Removed unused field
extraPercentOrderLinesin `/project
- Made comment optional when approving voucher in
/supplierInvoice - Corrected sorting order of elements in
voucherApprovalListElementDTO
- Added
languagefield to/customerendpoints
Made following changes to /supplierInvoice
- Re-named field
numbertoinvoiceNumber - Added
commentFromOriginatorandprojectto VoucherApprovalListElementDTO - Made sure the order of the VoucherApprovalListElements are the same in the api as in the web application
- Added new endpoints
DELETE /customerandDELETE /supplier.
- Added tempNumber to VoucherDTO.
- Add new API endpoint:
POST /order/listwhich allows posting a list of Orders, with OrderLines embedded inside.
- Added
phoneNumberWorktoContactDTO
- Add new API endpoint:
POST /invoice/listwhich allows posting a list of Invoices, with new Order and OrderLines embedded inside. - Allow embedding new Orders and OrderLines inside an Invoice, when posting a new Invoice using the
POST /invoiceAPI endpoint. - API change:
paymentTypeIdandpaidAmountadded to InvoiceDTO. These are optional, and used to specify payment type and paid amount when posting a list of invoices. - API change: In OrderLineDTO, the
orderfield is now optional. This is because now, a list of Invoices can be posted, where each Invoice contains a list of Orders, where each Order contains a list of OrderLines, embedded inside.
Example of POST /invoice/list:
[
{
"invoiceDate": "2020-09-02",
"invoiceDueDate" : "2020-09-12",
"orders" : [
{
"deliveryDate" : "2020-09-03",
"orderDate" : "2020-09-01",
"customer" : {"id" : 3001 },
"orderLines" : [{
"count" : 2,
"description" : "Example description"
}]
}
]
}
]- Added new endpoints for approving supplierInvoices:
PUT /supplierinvoice/:approvePUT /supplierinvoice/{id}/:approvePUT /supplierinvoice/{id}/:rejectPUT /supplierinvoice/{id}/:addRecipient
- Added new endpoints
/order/orderGroup(get, put, post, delete)
- Added new endpoint
/product/unit/masterwith a list of Product Units (Get)
- Added new endpoint
/supplierInvoice/voucher/{id}/postings(Put)
- Added new endpoints
/voucherStatus(get, post)
- Added
GETfor new endpoint/balanceSheet(get the balance sheet / saldobalanse for the specified parameters)
Added new transportType endpoint.
- Added
invoiceCommentandinvoiceRemarksto InvoiceDTO.
Set the correct values of taxDeductionCode and isMainEmployer upon creating of employments if those fields are not sent to Tripletex.
Added fields tollCost and passengerSupplement to MileageAllowanceDTO
New endpoints for deviation on purchaseorder. Only available for users that have activated the Logistics Pluss Beta-program:
- purchaseOrder/deviation (GET, POST, PUT DELETE)
- purchaseOrder/deviation/{id}/:approve
- purchaseOrder/deviation/{id}/:deliver
- purchaseOrder/deviation/{id}/:undeliver
- Added readonly field isInactive to Activity endpoint.
- Improved PUT
/travelExpense/to allow managing lists of perdiemCompensations ( creating / updating / deleting multiple perdiemCompensations in one request)
- Added GET
/timesheet/month, this gets the month status/overview for a specified month/employee combination or ID - Added PUT
/timesheet/monthactions for complete, re-open, approve and un-approve based on a month/employee combination or ID
Added DELETE method to product endpoint.
Added receiverEmail, discount, packingNoteMessage, transporterMessage, comments, attention and currency fields to PurchaseOrder object
Added GET for new endpoint /travelExpense/zone (find zone by id and search)
Added new field travelExpenseZoneId to /travelExpense/perDiemCompensation endpoint in PerDiemCompensationDTO
Added DEFAULT send type parameter for /purchaseOrder/{id}/:send method
New endpoints added for product group:
product/group(GET, POST, PUT, DELETE)product/groupRelation(GET, POST, DELETE)
Small patch for purchaseOrder endpoint
- Change name of the field
contacttoourContactto be consistent with the GUI - Added field
supplierContact
New methods added for purchaseOrder endpoint:
/purchaseOrder/{id}/:send/purchaseOrder/{id}/:sendByEmail
/travelExpense/perDiemCompensation/autoSuggest new internal endpoint that generates on the fly per diem compensations with auto-suggested data based on input and travel details without storing them in the database. ( POST )
/address endpoints are now deprecated and hidden. Prefer using /deliveryAddress for delivery addresses, or addresses through their parent objects, e.g. /employee or /customer. Existing integrations are not affected.
New endpoint added:
purchaseOrder/orderline(GET, POST, PUT, DELETE)
- Session, consumer, and employee tokens generated on the test environment (api-test.tripletex.tech) are now prefixed with
test-, to easily distinguish them from production tokens.
VoucherDTOAdded validation on voucher type
- Added field
descriptiontoProduct.
New endpoints for goods receipt. Only available for users that have activated the Logistics/Logistics Pluss Beta-program:
purchaseOrder/goodsReceipt(GET, POST, PUT DELETE)purchaseOrder/goodsReceiptLine(GET, POST, PUT DELETE)
- New endpoint:
PUT /order/:invoiceMultipleOrdersCharges a single customer invoice from multiple orders. The orders must be to the same customer, currency, due date, receiver email and attn.
-
Changes to
GET /timesheet/salaryTypeSpecification. We have have removed querydatein favour ofdateFrom(From and including) anddateTo(To and excluding). This change is done to make the endpoint be more in line with other timesheet endpoints like/entryfor instance. This is not something we usually do but as this endpoint is in beta and only been released on week ago, it's a bit of now or never. -
CustomerDTOchange Allow multiple email addresses on invoice email, separated by ;
Added new methods to /purchaseOrder endpoint:
- POST
- PUT
- DELETE
End point changed:
- added
showInTimesheetto/salary/typethis boolean value describes if if a salary type is applicable for timesheet or not
New endpoint:
timesheet/salaryTypeSpecification(GET, POST, PUT DELETE):
Adding this endpoint has given us the possibility to log for instance overtime.
New endpoints in product:
- POST /product/list
- PUT /product/list
Webhooks for create (and similar) events are now triggered even when an update happens at the same time.
Previously, only the update webhook was sent, skipping the create webhook.
This means it should no longer be necessary to subscribe to update-events when you're only interested in create.
- Allow creation of external projects (isInternal = false) from POST
/project/and PUT/project/for pilots only. - New endpoint
/project/projectActivity - POST:
/activity
- Added field
statusto GET/purchaseOrderand GET/purchaseOrder/{id}endpoint
Updated following field in ProjectDTO:
- mainProject should now update the main project via PUT
/project/{id}
Added following field to ContactDTO:
- phoneNumberMobileCountryId (If not set, it will be derived from phoneNumberMobile if possible, or default to Norway)
Added endpoint:
- GET
/purchaseOrderand GET/purchaseOrder/{id}
Removed required validation for fields marked as readOnly. Resolves issue #12
Added following field to EmployeeDTO:
- phoneNumberMobileCountryId (If not set, it will be derived from phoneNumberMobile if possible, or default to Norway)
Added two new endpoints for salary compilation:
/salary/compilation/salary/compilation/pdf
Abroad remittance for salary transactions is now supported - only in pilot. Added following fields to EmployeeDTO:
- iban
- bic (swift)
- creditorBankCountryId
- Added query param includePayrollTaxZones to endpoint municipality/get. Default is true. True will return payroll tax zone info with the municipality DTO. Notice that since there now are municipalities with more than one zone, those are represented by more than one DTO with the same municipality number.
- Added 'mimetype' field to DocumentDTO
- Updated
Bankstatement_ AddedaccountIdfield to Bankstatement and restrictions have been added to not allow bankstatements for the same account and time period.
_ POST:/bank/statement/importnow requires thatbankId,accountId,fromDateandtoDateis spesified.
Added 'isSalaryAdmin' and 'showPayslip' to TravelExpenseDTO
Added support for subscription invoices in the API. First create an order with subscription settings, then approve the order for subscription invoicing. The subscription invoice can also be charged using order :invoice method. New API methods:
- PUT:
/order/{id}/approveSubscriptionInvoice - PUT:
/order/{id}/unApproveSubscriptionInvoice
- Feature: all responses now has a header field named
x-tlx-request-idcontaining the request identifier.
New WebHooks events added:
employee.create,employee.updateandemployee.deletecontact.create,contact.updateandcontact.delete
- Added query parameters for the fields
inActiveandshowOnEmployeeExpensesfortravelExpense/costCategory.
New project/period endpoints:
- GET:
/project/{id}/period/hourlistReport - GET:
/project/{id}/period/invoiced - GET:
/project/{id}/period/invoicingReserve - GET:
/project/{id}/period/monthlyStatus - GET:
/project/{id}/period/overallStatus
New project/task endpoint:
- GET:
/project/task
New fields:
- Added fields
signatureRequiredandsignedto/project/controlFormendpoint - Added field
isapprovedto `/invoice endpoint - Added fields
signatureRequiredandsignedto/project/controlFormendpoint - Added fields
isFixedPrice,fixedprice,contributionMarginPercent,numberOfSubProjects,numberOfProjectParticipants,contact,invoicingPlanandpreliminaryInvoiceto/project/controlFormendpoint - Added field
isBudgetandinvoiceto/project/orderlineendpoint
- Changed type of employment/division from int to divisionDTO; employment/details/occupationcode from int to occupationcodeDTO; employment/details/municipalityid from int to municipalityDTO.
- Changed type of query parameter
employeeIdin/employee/employment/detailsendpoint from Integer to String
- Added field
eanto/productendpoint
New API Endpoint for Order, that lets you attach a document to a specified Order ID:
- PUT:
/order/{id}/:attach
- Updated
swagger.json:- Added
schemasproperty to clearly specify that only HTTPS is supported (required for Postman swagger import) - Added
contactproperty with a link to the GitHub repository
- Added
- Added new field
phoneNumberWork(read/write) toEmployeefor/employeeendpoint
- Added fields
authHeaderName(read/write) andauthHeaderValue(write only) toSubscriptionto allow for custom authentication headers. If set, the specified header will be included in webhook POST callbacks.
- validate that costs exists on expense for
PUT /travelExpense/:deliverandPUT /travelExpense/:approve
New endpoint travelexpense/settings for a company.
- GET: "/travelExpense/settings"
- Removed
maxLengthvalidation for enum-fields. This resolves an issue with the C# swagger code generator.
New Document Archive endpoints that handles document archive associated with diferent object types. Returns list with all documents archive associated with an object type specified in path variable {id}
- GET:
/documentArchive/project/{id} - GET:
/documentArchive/employee/{id} - GET:
/documentArchive/customer/{id} - GET:
/documentArchive/supplier/{id} - GET:
/documentArchive/product/{id} - GET:
/documentArchive/account/{id} - GET:
/documentArchive/prospect/{id}
Create a document/upload to archive and associate it with an object type specified by {id} - POST:
/documentArchive/project/{id} - POST:
/documentArchive/employee/{id} - POST:
/documentArchive/supplier/{id} - POST:
/documentArchive/customer/{id} - POST:
/documentArchive/product/{id} - POST:
/documentArchive/account/{id} - POST:
/documentArchive/prospect/{id}
Updates document archive meta data for a specific document {id} - PUT:
/documentArchive/{id}
Delete document archive specified by {id} - DELETE:
/documentArchive/{id}
- GET
/ledger/vatTypeand GET/ledger/vatType/{id}now supports vat number 0. - Most objects that had
VatTypeas a field will now be able to return data instead ofnullwhen the vat number is 0.
- Added endpoint GET
/project/controlForm
- Changed field
amountto/travelExpenseendpoint to readonly - Added field
chargeableAmountto/travelExpenseendpoint - Changed field
coststo/travelExpenseto be writable - Added field
documentto/travelExpenseendpoint - For
travelExpense/cost, changed fieldamountNOKInclVATto/travelExpens/costto be writable
- Added endpoint
/event/{eventType}to give examples for each event model - Added event type
notification.sent, which is triggered once the employee is sent a new notifications
- Added endpoint for getting currency exchange rates at
/currency/{id}/rate
- Added field
invoicesDueInto/customerendpoint - Added field
invoicesDueInTypeto/supplierendpoint
- Added field
overdueNoticeEmailto/customerendpoint - Added field
overdueNoticeEmailto/supplierendpoint
- Added new search parameter
isApplicableForSupplierInvoicetoGET /ledger/account
- Customer's isSupplier can be managed (created and updated) via
/customer - Supplier's isCustomer can be managed (created and updated) via
/supplier
- Added readOnly field
hourlyCostPercentagetotimesheet\entry
- Added endpoint GET, POST, PUT, DELETE
project\hourlyRates - Added endpoint GET, POST, PUT, DELETE
project\hourlyRates\projectSpecificRates
- Enhanced endpoint
/departmentwith DELETE method
- Added field to /employee: holidayAllowanceEarned: year, amount, basis, amountExtraHolidayWeek
- Added endpoint GET, POST, PUT
/employee/hourlyCostAndRate
- Added field
factortoCurrencyfor GET/currency.
- Extended
invoiceSendMethodto support EFAKTURA. VIPPS and PAPER for PUT /customer/{id}/ and POST /customer API endpoints. The PUT /invoice/{id}/:send also supports these send methods.
- Added fields
isMainEmployerandtaxDeductionCodeto endpoint/employee/employment
- Added the possibility to create and update customers with emailAttahcmentType. The field
emailAttahcmentTypehas been added to the PUT /customer/{id}/ and POST /customer API endpoints. This parameter is optional.
- Employee's address can be managed (created and updated) via
/employeeendpoint - Customer's postal and physical address can be managed (created and updated) via
/customerendpoint - Supplier's postal and physical address can be managed (created and updated) via
/supplierendpoint
- Added the possibility to create and update customers with invoiceSendMethod. The parameters
invoiceSendMethodwhich is enum values andsingleCustomerInvoicewhich is a boolean have been added to the PUT /customer/{id}/ and POST /customer API endpoints. These parameters are optional, but for settinginvoiceSendMethodto EHF thesingleCustomerInvoicemust be set to false.
- Added endpoint DELETE
/ledger/voucher/{id}/attachment
- Added endpoint GET, POST
/{travelExpenseId}/attachment
- Added endpoint GET
/timestheet/settings
- Added readOnly fields to /product:
elNumber,nrfNumber
- Added ENUM values to
employmentType,remunerationTypeandworkingHoursSchemein /employee/employment/details
- Added fields to /supplier:
isWholesaler,showProducts - Added field to /product/external:
organizationNumber
- Added field to /employee:
comments
- Added endpoint POST, PUT, GET employee/nextOfKin
- Added fields to /employee:
phoneNumberHome,InternationalIdDTO
- Added endpoint POST employee/employment/leaveOfAbsence/list
- Added endpoint GET, PUT
/company/settings/altinn
- Added endpoint GET, POST, PUT /division
- Deprecated endpoint GET /company/divisions
- Added field
numberto Payslip
- Deprecated response field
VoucherSearchResponse.totalNumberOfPostings
- Added fields to /country:
isoAlpha2Code,isoAlpha3Code,isoNumericCode
- Added PUT, POST and GET order line by ID to
project/orderline
- Added field
discountPriceto Product
/invoice/{id}/:paymentadded optinal paidAmountCurrency parameter, to specify the amount paid in the invoice currency.
PUT /ledger/voucher/{id}/:reverseadded method for reversing vouchers.
GET /projectadded the fielddisplayName
- Added endpoint
GET /invoice/details/{id}which returns additional details about project invoices, such as project fee amounts, markup, travel expenses, invoice text, the amount on account balance and vat type. - Added
projectInvoiceDetailsto the Invoice API model, which contains a list of project invoice details for the given invoice. - Added
discountPercentageto the Project API model, containing the discount percentage specified for the project.
- Added endpoint
PUT /contact
- The general field
changesnow contains all changes. Before this version only the creation and the last change was listed.
- Added field
invoiceto TravelExpense
GET,PUT /projectadded isReadyForInvoicing.
- New endpoint:
/project/participant(POST,GET,PUT,DELETE) GET /projectNow has field for participants.
- New endpoint:
/document - Three new fields in
GET /ledger/voucher: attachment, document and ediDocument
GET /projectNow has field for deliveryAddress.
PUT /projectNow allow changing project description.
POST /salary/transactionnew boolean parameter for generating tax deduction.GET/POST/PUT/DELETE /project/orderlinenew BETA endpoints for selected participants only.
PUT /projectallow PUT on non-internal projects.
GET /contactadded phoneNumberMobile.
- Changed Swagger documentation to correctly specify return code
201rather than200forPOSTrequests.
PUT /invoice/{id}/:createCreditNoteadded for creating credit notes.- AmountRoundoff og amountRoundoffCurrency added to Invoice.
DELETE /ledger/voucheradded.GET /inventorywith query parameter isMainInventory now works as intended.
POST /ledger/voucher/importDocumentnow supports an optional description that will be used on the new voucher(s).
- New endpoint:
PUT /ledger/voucher/list- Update multiple vouchers. Voucher.yearis now correctly defined as read-only.
- Added information about outstanding payment and payment reminders to invoices:
postings,reminders,sumRemits,amountOutstandingogamountOutstandingTotal. - Added a
/reminderAPI endpoint and:createReminderto the invoice API endpoint.
- Added support for
organizationNumberquery parameter in/customer(GET) and/supplier(GET).
/customer(PUT and POST):accountManageris no longer read-only.
- Added the possibility to create prepaid invoices. The parameters
paymentTypeIdogpaidAmounthave been added to the PUT /order/{id}/:invoice and POST /invoice API endpoints. These parameters are optional, but both must be provided if a prepaid invoice should be created.
- Fixed incorrect URL references to costCategory and paymentType from
travelExpense/cost.
POST /ledger/voucher/importDocument[BETA] Upload a document to create one or more vouchers. Valid document formats are PDF, PNG, JPEG, TIFF and EHF.
- Distinguished payment type in travelExpense API between costCategory and paymentType. new GET endpoints for
travelExpense/costCategoryandtravelExpense/paymentType. It is now possible to actually obtain these for use withtravelExpense/cost. (This is a "breaking" change fortravelExpense/cost, but also makes it usable.)
- Added field
reverseVoucherto Voucher - a reference to the voucher that is produced when the current voucher is reversed. - Added fields
vacationAllowanceAmount(readonly),grossAmount(readonly),amount(readonly) to Salary.Payslip. - Added field
amountto Salary.Specification.
- Added support of bank reconciliation.
- Added endpoint
bank/statementfor importing bank statements. - Added endpoint
bank/reconciliation/for reconciliation. Reconciliation can be done either with a bank statement, or without. - Added endpoint
bank/reconciliation/matchfor mapping postings to transactions on the bank statement. - Added endpoint
bank/for getting banks that are supported, their register numbers and the bank statement file formats that can be imported.
- Added fields
externalAccountsNumber,description(readonly) andmainProject(readonly) to Project.
- Added webhook support for Customer, Supplier and Project:
_
customer.create_customer.update_customer.delete_supplier.create_supplier.update_supplier.delete_project.create_project.update*project.delete
- Added endpoint
ledger/voucher/{id}/:sendToInbox
GET /employee* Added allowInformationRegistration as a query parameter and as a read-only field. This parameter determines if salary information can be registered on the user including hours, travel expenses and employee expenses. The user may also be selected as a project member on projects.
- Updated handling of JSON parse errors
_ Errors deserializing input JSON now results in HTTP error 422 instead of 500
_ Mapping errors are now specified instead of the generic message
Invalid json
- Added webhook support for Voucher events:
_
voucher.create_voucher.update*voucher.delete - Changed endpoint
/timesheet/entry* Added read-only field to TimesheetEntry:chargeableHours
- Added endpoint
ledger/voucher/>nonPosted
- Changed endpoint
/supplier* Introduced filter parameterchangedSince, to only list suppliers changed after a given timestamp
- Added endpoints for payment types for outgoing payments:
GET /ledger/paymentTypeOutPOST /ledger/paymentTypeOutPOST /ledger/paymentTypeOut/listPUT /ledger/paymentTypeOut/listDELETE /ledger/paymentTypeOut/{id}GET /ledger/paymentTypeOut/{id}PUT /ledger/paymentTypeOut/{id}
- Changed
GET /travelExpense- added queryparameter state with the posilble values ALL, OPEN, DELIVERED, APPROVED, SALARY_PAID (default value ALL)
- Added validation of addresses to
PUT /address/_ Empty addresses are not allowed. _ Either Address.name or Address.customerVendorId is now required.
- Added beta version of webhooks for pilot users
_ Exposes new endpoints for
GET /eventandGET/POST/PUT/DELETE /event/subscription_ Contact us to join the pilot program!
- Added endpoint
PUT /travelExpense/:copy - Changed validation for
TravelExpense: * Validation now only occurs whenisCompletedis set totrue. Allows for creation of empty travel reports.
- Added endpoints for
POST,PUTandDELETEon/project - Fixed some bugs
- Added endpoint
PUT /ledger/voucher - Added endpoint
PUT /ledger/voucher/{id} - Added endpoint
DELETE /ledger/account
- Improved revision/version handling. The API now returns error code
8000("Revision Exception") when attempting toPUTan object with the wrongversionspecified. This typically happens when someone else has modified the specified object.
- Added endpoints for salary:
_
/salary/payslip_/salary/specification_/salary/transaction_/salary/type
- Added endpoints for employees and employment:
_
/employee/employment_/employee/employment/details_/employee/employment/employmentType_/employee/employment/leaveOfAbsence_/employee/employment/leaveOfAbsenceType_/employee/employment/occupationCode_/employee/employment/remunerationType_/employee/employment/workingHoursScheme*/employee/standardTime
- Changed endpoint
/department* Introduced filter parameterdepartmentManagerId
- Changed endpoint
/product: * Introduced filter parameterproductNumber
- Added endpoints for ledger (hovedbok):
_
/ledger/openPosts_/leder/posting/openPosts
- Added endpoints for prospects (CRM):
_
GET /crm/prospect_GET /crm/prospect/{id}
- Added endpoints for product:
_
POST /product_PUT /product_PUT /product/unit_GET /product/unit/ - Added fields to Product:
_
priceIncludingVatCurrency(utsalgspris inkl. mva) _priceExcludingVatCurrency(utsalgspris eks. mva) _costExcludingVatCurrency(innkjøpspris) _isInactive_vatType(mva-kode) _currency_productUnit_isStockItem(lagervare) *stockOfGoods(lagerbeholdning)