Apport.UnicontaGateway
Release notes
-
Version 2026-06-25.2
-
Improvements to the caching mechanism used to limit Uniconta requests when determining if order lines refer to service items.
-
Previously system cached each used item number and it's type.
Uniconta was queried for each item number that was not previously checked.
-
Now system caches a list of the item numbers that have type service
(there are typically much fewer service items than "normal" items).
Uniconta is only queried once to get all service items in one request.
-
Cache duration is 2 hours.
-
Version 2026-06-25.1
-
Endpoint DELETE /api/SalesOrder/Multiple:
-
Added parameter deleteServiceLines, that controls deletion
of orderlines having item number that refer to product of type service.
-
true: delete unconditionally, irrespective of remaining quantities.
-
false: delete using same logic as other order lines.
-
Added return value that lists order headers and lines with deletion status.
Useful for testing with test=true.
-
Version 2026-06-24.3
-
Endpoint DELETE /api/SalesOrder/Multiple:
-
Addded parameter hasRemaining.
-
true: delete orderline if QuantityRemaining != 0.
-
false: delete orderline if QuantityRemaining == 0.
-
null: deletion controlled by fullyInvoiced.
-
OnlyLines
-
true: never delete order header.
-
false: delete order header if all order lines have been deleted.
-
Version 2026-06-24.2
-
Endpoint GET /api/SalesOrder/CheckRemaining:
-
Criteria for selecting orders using hasRemaining changed
from
QuantityDelivered > 0 || QuantityInvoiced > 0) && QuantityRemaining > 0
to
QuantityRemaining != 0
-
Version 2026-06-24.1:
-
Endpoint GET /api/SalesOrder
-
Changed reading of categoryKey to not use reference property.
-
Removed properties projectName, categoryName, workSpaceName.
-
Version 2026-06-23.1
-
Endpoint GET /api/SalesOrder/CheckRemaining:
-
To support credit notes, criteria for selecting orders using hasRemaining=true changed
from
(QuantityDelivered > 0 || QuantityInvoiced > 0) && QuantityRemaining > 0
to
(QuantityDelivered != 0 || QuantityInvoiced != 0) && QuantityRemaining != 0
-
Version 2026-06-22.4:
-
New endpoint GET /api/SalesOrder/CheckRemaining with filtering options:
-
Filtering options, order lines:
-
storage
-
skipZeroQuantity
-
skipBlankItem
-
Filtering options, returned orders:
-
lastModified
-
emptyOrdersOnly
-
hasRemaining
-
Version 2026-06-22.3
-
Endpoint GET /api/SalesOrder, added order line properties:
-
projectKey
-
categoryKey
-
workSpaceKey
-
Endpoint GET /api/Project/BookedJournals, added filtering parameter:
-
hasProjectJournalId: return only transaction lines having PrJournalPostedId != null.
-
Version 2026-06-19.1
-
Endpoint GET /api/Project/BookedJournals, new filtering parameter:
-
fromDateTime: return only transactions having Date >= specified value.
-
Version 2026-06-18.1
-
Endpoint POST /api/SalesOrder/Complete new enum value PostProjectOrder:
same post-processing as for Invoice.
-
Must complete with PackNote first (to set delivered quantities).
-
Completing with PostProjectOrder fails, if any order line refers to product, that does not have project category set.
-
New endpoint GET /api/Project/ProjectTypes.
-
New endpoint GET /api/Project/ProjectCategories.
-
Version 2026-06-17.1
-
New endpoint GET /api/Project:
-
Returns all projects, ordered by number - no filtering.
-
Project properties: number, name, startdate, endDate.
-
New endpoint GET /api/Project/WorkSpaces:
-
Returns all workspaces, ordered by number - no filtering.
-
Workspace properties: number, name, account.
-
New endpoint GET /api/Project/BookedJournals:
-
Returns all booked project journal lines, ordered by date.
-
Filtering parameter:
-
hasWorkSpace: return only journal lines having WorkSpace != null.
-
filterWorkSpace: return only journal lines having specified WorkSpace number.
-
Version 2026-06-10.3
-
Added new enumeration value PostProjectOrder properties to CompleteSalesOrder.OrderCompletion
(endpoint POST /api/SalesOrder/Complete).
When this value is specified in request:
-
Updating orderlines is possible as for Packnote and Invoice.
-
Algorithm for selecting orderlines to complete is the same as for Packnote and Invoice:
orderlines specified in request + service order lines if CompleteServiceLines == true, else order lines where Storage != Register.
-
Gateway does not call method InvoiceAPI.PostInvoice that is used for Packnote and Invoice - instead it calls method InvoiceAPI.PostProjectOrder.
-
None of the "postprocessing" functionality implemented for Packnote and Invoice is performed.
-
Other changes (for convenience):
-
Endpoint POST /api/SalesOrder : possibility to set projectNumber on order header.
-
Endpoint GET /api/SalesOrder : returns projectNumber on order header.
-
Version 2026-06-09.3
-
Added properties to JournalLine:
-
Added endpoint GET /api/Warehouse returning warehouse data:
-
Version 2026-06-09.2
-
Added property DeliveryCountryCode to SalesOrder (ISO 2-letter code).
-
Added endpoint GET /api/Country returning country data:
-
Added endpoint GET /api/Enum/CountryCodes return ISO 2-letter country codes (but no names).
-
Version 2026-06-08.1
-
Added caching of item types using HybridCache.
When order is completed (and completeServiceLines is true), item types of the order lines are cached,
so that they can be used in subsequent calls to POST /api/SalesOrder/Complete without the need to read them again from Uniconta.
Memory caching only - application restart clears the cache.
No preloading (tried - but it does not work).
-
Version 2026-06-05.1
-
New property completeServiceLines in command behind POST /api/SalesOrder/Complete endpoint:
When true, order lines for products with ItemType = Service will also posted (e.g. invoiced),
even if they are not passed in the request (e.g. because they have Storage = None and were not imported).
-
Version 2026-06-01.2
-
Fixed bug in endpoint POST /api/SalesOrder/Complete:
Orderlines with Storage != Register (e.g. freight) were not deleted.
-
New Endpoints:
-
DELETE /api/SalesOrder : Delete one sales order.
-
DELETE /api/SalesOrder/Multiple : Delete multiple sales order / order lines.
-
Version 2026-05-29.1
-
Endpoint GET /api/SalesOrder/Invoiced, new parameters:
-
created: filter on date/time created.
-
lastModifed: filter on date/time last modified
-
Version 2026-05-26.1
-
New endpoint GET /api/SalesOrder/Invoiced.
This may be used to find / check the sales orders / order lines, that are fully invoiced (candidates for deletion).
-
Version 2026-05-20.2
- Discount is now treated as per unit.
-
Version 2026-05-20.2
- Fix division by zero error causing deserialization error
-
Version 2026-05-19.2
- Changed computation of DiscountedUnitPrice.
-
Version 2026-05-19.1
- Added orderline properties Discount, DiscountPct (read from Uniconta), and TotalQuantity (computed).
- Added parameter loadAccountName to endpoints to get sales orders, purchase orders, and production orders.
- Extended logging.
Home
Swagger UI