API-Changelog

Integrate weclapp with other applications or services with our REST API. Sign up here for our API newsletter.

Our complete API documentation can be found here: weclapp API. Previous API changes and other changes can be read in the changelog.

Preview Version 25.01.1 - January 16th, 2025

General Improvements

Parameter “filter”: better handling of ID properties

In filter expressions ID properties (i.e. ones named “id” or “<soemthing>Id”) can now also be compared to string literals instead of only integers. This makes the behavior consistent with the type returned by the API.

All ReductionAdditionItems now offer the same fields for the API

positiontypesourcevaluespecialPriceReduction and titleTitle and specialPriceReduction being new API available fields for ReductionAdditionItems.

Added validation for commercialLanguage.

Affected Endpoints:

  • /salesOrder
  • /salesInvoice
  • /quotation
  • /shipment
  • /incomingGoods
  • /contract
  • /purchaseInvoice
  • /purchaseOrder
  • /purchaseOrderRequest
  • /blanketPurchaseOrder
  • /performanceRecord

Changed endpoint /recordEmailingRule

Changes in /recordEmailingRule/id/{id}

Added Property: attachShippingLabel(boolean)

New endpoint /priceCalculationParameter

Available for: GET, POST, PUT, DELETE
Properties:

  • articleCategoryId (string)
  • articleId (string)
  • fixSurcharge (string)
  • fromScale (string)
  • lowerPurchasePriceBound (string)
  • margin (string)
  • percentSurcharge (string)
  • profit (string)
  • salesChannel (string (enum))

Changes in /quotation

Added properties:

  • recordOpeningInheritance (boolean)
  • recordFreeTextInheritance (boolean)
  • recordCommentInheritance (boolean)
  • quotationItems.scaleValues

New method: /quotation/id/{id}/addDefaultScalePricesToItems

New method: /quotation/id/{id}/createPurchaseOrderRequest

Available for: POST
Creates a supplier request from the quotation. The method returns the created supplier request.

Changes in /salesOrder

Added properties:

  • recordOpeningInheritance (boolean)
  • recordFreeTextInheritance (boolean)
  • recordCommentInheritance (boolean)

New method: /salesOrder/id/{id}/createPurchaseOrderRequest

Available for: POST
Creates a supplier request from the sales order. The method returns the created supplier request.

Changes in /salesInvoice

Added properties:

  • recordOpeningInheritance (boolean)
  • recordFreeTextInheritance (boolean)
  • recordCommentInheritance (boolean)
  • commissionBlock (boolean)
  • cancellationSlipCommissionBlock (boolean)
  • commissionSettlementDone (boolean,readonly)
  • cancellationSlipCommissionSettlementDone (boolean,readonly)

Changes in /party

Added property: commissionBlock (boolean)

Changes in /manufacturer

Added properties:

  • address.city (string)
  • address.company (string)
  • address.company2 (string)
  • address.countryCode (string)
  • address.firstName (string)
  • address.globalLocationNumber (string)
  • address.lastName (string)
  • address.middleName (string)
  • address.phoneNumber (string)
  • address.postOfficeBoxCity (string)
  • address.postOfficeBoxNumber (string)
  • address.postOfficeBoxZipCode (string)
  • address.salutation (enum)
  • address.state (string)
  • address.street1 (string)
  • address.street2 (string)
  • address.titleId (string)
  • address.titleId (string)
  • address.zipcode (string)
  • email (string)

 positionNumber is always null and description is always null

Version 24.23.1 - November 28th, 2024

Changes in /system/licenses

Added property:

  • permissions (array)

Changes in /articleSupplySource

Added property:

  • ignoreInDropshippingAutomation (boolean)

Changes in /party

Added property:

  • customerAllowDropshippingOrderCreation (boolean)

Changes in /salesInvoice

creditResetsOrderState is not readonly anymore

Changes in /quotation

New method /quotation/id/:id/createPublicPageLink

New method /quotation/id/:id/disablePublicPageLink

Available for: POST

Version 24.22.1 - November 14th, 2024

Breaking API Changes

Changes in /salesOrder

Removed properties:

  • orderItems.pickBatchNumber
  • orderItems.pickSerialNumbers
  • orderItems.pickStoragePlaceId
  • orderItems.withdrawalTransportReferenceId

Instead it is now possible to use the property orderItems.picks to define one or multiple picks of a retail sale analogous to non-retail sale sales order.

Changes in /purchaseOrderRequest

Removed property:

purchaseOrderRequestOffers.purchaseOrderRequestOfferItem.orderedQuantity

Changes in /purchaseOrderRequest/id/:id/createBlanketPurchaseOrder

The method now returns the created blanket purchase order instead of just “true”.

Changes in /quotation/id/:id/accept

The method now returns the accepted quotation.

Changes in /article

Removed properties:

  • articleCalculationPrices.positionNumber
  • articlePrices.positionNumber

Changes in /articleSupplySource

Removed properties:

  • articlePrices.positionNumber

Changes in /articlePrice

Removed properties:

  • positionNumber (read-only)

Changes in /purchaseOrder

The type BLANKET_PURCHASE_ORDER was removed.

Rename permission

entity-party-updateDataProtectionLink to entity-party-updatePublicPageUuid

Further API Changes

Changes in /party

Added properties:

    • publicPageExpirationDate (integer)
    • publicPageUuid (string)
    • regionID (string, read-only)

New endpoint /party/id/:id/createPublicPage

creates data protection link.

New endpoint /region

Supports: GET, PUT, POST, DELETE

Provided properties:

  • name (string)
  • matchCode (string)
  • description (string)
  • countryCode (string)
  • responsibleUserId (string)
  • responsibleUserUsername (string)

Changes in /purchaseOrder/id/{id}/processDropshipping

Added optional parameter:

  • processPurchaseOrderItems (array of objects)
    • Each object has the property purchaseOrderItemId (string)

New endpoint /purchaseOrder/id/:id/cancelDropshippingShipments (POST)

with required parameter shipmentIds(array of strings) specifying the dropshipping shipment ids to be cancelled.

Cancels the provided dropshipping shipments as well as the corresponding incoming goods and reopens the dropshipping order afterwards.

Changes in /document

Changed property documentType

New value “ZUGFERD_VALIDATION” was added.

Version 24.21.1 - October 31st, 2024

We want to inform you upfront about breaking API changes that will be released with Release 24.22.1 on November 14th, 2024:

Changes in /salesOrder

Removed properties:

  • orderItems.pickBatchNumber
  • orderItems.pickSerialNumbers
  • orderItems.pickStoragePlaceId
  • orderItems.withdrawalTransportReferenceId

Instead it is now possible to use the property orderItems.picks to define one or multiple picks of a retail sale analogous to non-retail sale sales order.

Changes in /purchaseOrderRequest

Removed property: purchaseOrderRequestOffers.purchaseOrderRequestOfferItem.orderedQuantity

Changes in /purchaseOrderRequest/id/:id/createBlanketPurchaseOrder

The method now returns the created blanket purchase order instead of just “true”.

Changes in /article

Removed properties:

  • articleCalculationPrices.positionNumber
  • articlePrices.positionNumber

Changes in /articleSupplySource

Removed properties:

  • articlePrices.positionNumber

Changes in /articlePrice

Removed properties:

  • positionNumber (read-only)

Changes in /purchaseOrder

The type BLANKET_PURCHASE_ORDER was removed.

Changes in /party

New endpoint /party/id/:id/createPublicPage

creates data protection link.

Added properties:

  • publicPageExpirationDate (integer)
  • publicPageUuid (string)

Rename permission

entity-party-updateDataProtectionLink to entity-party-updatePublicPageUuid

Changes in /quotation/id/:id/accept

The method now returns the accepted quotation.

Regular API Changes Release 24.21.1

Changes in /quotation

added properties

  • expectedSignatureDate (Date)
  • quotationItems.itScopeId (String) read-only

Changes in /pick

Added property:

  • salesOrderItemId (string)

Changes in /productionOrder

Added property:

  • productionOrderItem.picks (array)

relevant pick properties:

    • id (string)
    • transportationOrderId (string)
    • storagePlaceId (string)
    • internalTransportReferenceId (string)
    • batchNumber (string)
    • orderItemId (string)
    • quantity (decimal)
    • serialNumbers (array)

where serialNumbers consists of an array of string.

Changes in /salesOrder

Added property:

  • orderItems.picks (array)

relevant pick properties:

    • id (string)
    • transportationOrderId (string)
    • storagePlaceId (string)
    • internalTransportReferenceId (string)
    • batchNumber (string)
    • orderItemId (string)
    • quantity (decimal)
    • serialNumbers (array)

where serialNumbers consists of an array of string.

Changes in /shipment

Added property:

  • shipmentItem.picks (array)

relevant pick properties:

    • id (string)
    • transportationOrderId (string)
    • storagePlaceId (string)
    • internalTransportReferenceId (string)
    • batchNumber (string)
    • orderItemId (string)
    • quantity (decimal)
    • serialNumbers (array)

where serialNumbers consists of an array of string.

Changes in /shippingCarrier

Add property shippingServiceProviderType (string) as mandatory field with possible values:

  • STANDARD
  • SHIPCLOUD
  • DHL
  • SENDCLOUD

Changes in /party

PUT: If imageId is set to null then party image will be removed. If imageId is given by a new non-null value then it will throw an API validation exception which refers to the /uploadImage endpoint. If imageId is not provide in the payload then no changes to the party image.

New filter property: lead (boolean)

New additional properties:

  • leadExpectedRevenueQuotations (string)
  • leadQuotationVolume (string)
  • leadExpectedRevenueOpportunities (string)
  • leadChildrenExpectedRevenueQuotations (string)
  • leadChildrenQuotationVolume (string)
  • leadChildrenExpectedRevenueOpportunities (string)
  • customerSalesRevenueCurrentYear (string)
  • customerSalesRevenuePreviousYear (string)
  • customerSalesOrderVolumeCurrentYear (string)
  • customerSalesOrderVolumePreviousYear (string)
  • customerQuotationAcceptancePercentage (string)
  • customerQuotationAcceptanceTimeInDays (integer)
  • customerSalesOpenItemSum (string)
  • customerSalesOpenItemOverdueSum (string)
  • customerReturnPercentagePreviousYear (string)
  • customerReturnPercentageCurrentYear (string)
  • customerChildrenSalesRevenueCurrentYear (string)
  • customerChildrenSalesRevenuePreviousYear (string)
  • customerChildrenSalesOrderVolumeCurrentYear (string)
  • customerChildrenSalesOrderVolumePreviousYear (string)
  • supplierPurchaseRevenueCurrentYear (string)
  • supplierPurchaseRevenuePreviousYear (string)
  • supplierPurchaseOrderVolumeCurrentYear (string)
  • supplierPurchaseOrderVolumePreviousYear (string)
  • supplierChildrenPurchaseRevenueCurrentYear (string)
  • supplierChildrenPurchaseRevenuePreviousYear (string)
  • supplierChildrenPurchaseOrderVolumeCurrentYear (string)
  • supplierChildrenPurchaseOrderVolumePreviousYear (string)

Changes in /customAttributeDefinition

New possible value for attributeEntityType: purchaseOrderRequest

Changes in /currency

Now available for: POST, PUT, DELETE

Changes in /inventory

is now available for POST and PUT as well and has the added property inventoryGroupId (string).
The update functionality supports status changes to STARTED or CANCELLED.
Creating a new inventory is possible via POST, but there is an additional

New endpoint /inventory/create

for POST that provides a few additional options. The request can contain the following properties:

  • inventory (an inventory like the POST request would use)
  • storagePlaceIds (array of string)
  • createEmptyPositionsForEmptyLevels (boolean)
  • placeForArticlePositionsId (string)
  • dryRun (boolean)
    The inventory is required, the others are optional and default to the values used in the general POST.

New endpoint /inventoryGroup

available for GET, mainly to find the group’s id that is needed to create a new inventory.

Properties

  • id (string)
  • createdDate (integer)
  • lastModifiedDate (integer)
  • version (string)
  • name (string)

Version 24.20.1 - October 17th, 2024

Changes in /purchaseOpenItem

New method /purchaseOpenItem/id/{id}/updatePaymentState

Available for: POST

Parameters:

  • datePaid (integer)
  • paymentState (enum – values: “PAID”, “UNPAID”)

Changes in /salesOpenItem

New method /salesOpenItem/id/{id}/updatePaymentState

Available for: POST

Parameters:

  • datePaid (integer)
  • paymentState (enum – values: “PAID”, “UNPAID”)

Changes in /user

Added property: title (string)

Changes in /article

Added property:

  •  useSalesBillOfMaterialSubitemCosts (boolean)

New general query parameter: filter (Beta feature)

Query parameter that can be used on all query requests to specify complex filter expressions. Example:

curl -H "AuthenticationToken:<TOKEN>" \
  ${url}/party \
  --get \
  --data-urlencode 'filter=(lower(contacts.firstName + " " + contacts.lastName) = "Ertan Özdil") and (lastModifiedDate >= 2022-01-01)'

Detailed documentation is in our API documentation.

Version 24.19.1 - October 2nd, 2024

Changes in /ticket

Added extra query property ticketStatus.

Changes in /quotation

Added property:

  • quotationItems.plannedDeliveryDate (integer)
  • quotationItems.plannedShippingDate (integer)

Changes in /salesOrder

Added property:

  • orderItems.plannedDeliveryDate (integer)

Changes in /purchaseOrder

Added properties:

  • formSettingsFromSalesChannel (string)

Version 24.18.1 - September 19th, 2024

Changes in /job

Added properties:

  • progress.failedCreateCount (integer)
  • progress.failedUpdateCount (integer)
  • progress.lastModifiedDate (integer)
  • progress.succeededCreateCount (integer)
  • progress.succeededUpdateCount (integer)
  • progress.totalCount (integer)

 

New endpoint /reminder

Supports: GET, PUT, POST, DELETE.

Provided properties:

  • ccMail (string)
  • entityId (string, required)
  • entityName (string, required)
  • message (string)
  • additionalRecipients (array)
  • recurringEvent (object)
  • reminderDate (integer, required)
  • sendType (string, required)
  • lastReminderSentDate (integer)
  • subject (string, required)
  • userId (string)

recurringEvent properties:

  • endsOnDate (integer)
  • eventType (string)
  • repeatOn (string)
  • eventInterval (integer)
  • eventOccurrenceCount (integer)

Changes in /articleSupplySource

New additional property:

  • currentPurchasePriceInCompanyCurrency (array)

 

Changes in /salesOrder

properties added:

  • applyShippingCostsOnlyOnce (boolean)
  • note (string)
  • sepaDirectDebitMandateId (string)
  • recordAsn (string)
  • orderItems.contractChargeId (string)
  • orderItems.withdrawalTransportReferenceId (string)
  • payments.condition (string)
  • payments.conditionMet (boolean)
  • payments.dueDate (integer)
  • payments.salesInvoices (array)
  • statusHistory.creditLimitExceeded (boolean)

Version 24.17.1 - September 5th, 2024

Changes in /article

Added translation to property:

  • recordItemGroupName (String)

Version 24.16.1 - August 22nd, 2024

Breaking API changes:

Changes in /customAttributeDefinition/updateOrder

The request must contain all IDs of existing customAttributeDefinition entities for the given entityType.

Changes in /document/id/{id}/downloadDocumentVersion

Rename query parameter from id to versionId

Changes in /article

  • POST: If articleType is empty, the default article type of the system (determined by the article settings) will be used, as opposed to always using BASIC like before.
  • PUT: If articleType is empty, the endpoint will now throw an error with status code 400 because articleType is required. If articleType is empty and the optional parameter ignoreMissingProperties is enabled, articleType will stay untouched.

Changes in /salesOrder

Changed property:

  • serviceItem is renamed to itemType and is not a boolean any more, but an enumeration value:
    • DEFAULT
    • SERVICE

Changes in /quotation

Changed property:

  • serviceItem is renamed to itemType and is not a boolean any more, but an enumeration value:
    • DEFAULT
    • SERVICE

Further API changes:

Changes in /salesInvoice

Added properties:

  • costCenterId (string)
  • costTypeId (string)
  • salesInvoiceItems.cost2CostCenterId (string)
  • salesInvoiceItems.costTypeId (string)

Changes in /purchaseInvoice

Added properties:

  • purchaseInvoiceItems.cost2CostCenterId (string)
  • purchaseInvoiceItems.costTypeId (string)

Changes in /customAttributeDefinition

Added property: showAttributeEntityType (boolean), it may only be true if attributeType == ENTITY

Changes in /recordEmailingRule

new value for event available:

PURCHASE_ORDER_DROPSHIPPING_DELIVERY_NOTE_PRINTED

New endpoint /purchaseOrderRequest/id/:id/pushPurchasePrices

Add or update purchase prices for articles with provided supplierIds (array(string)) to given purchaseOrderRequest.

Changes in /ticket

New additional properties:

  • tasksCompleted(boolean)
  • tasksCompletedPercentage(string)

Changes to /article

Improve the initialization logic of articles. The articleType will now be evaluated first, using the specific default settings of the provided articleType to ensure that certain values will be initialized.

Example:

POST:
{ "serialNumberRequired" : true, "articleNumber" : "1234", "name" : "testArticle1234", "articleType": 'STORABLE', "unitName": "h" }

Example ERP settings defaults for articles:

Default article type = SERVICE
Default unit for type “STORABLE” = “Stk.”
BatchNumberRequired = true
SerialNumberRequired = false

Upon creation of the article via API the field articleType will initialize all default settings of that type meaning unitName will be “Stk.”, batchNumberRequired will be true and serialNumberRequired will be false.
Afterwards, the remaining properties will overwrite the provided default settings.
In this example the unitName will be changed to “h” and the serialNumberRequired will be changed to true.
Finally, the article will be validated and “speaking” error messages will be provided as to what field needs to be adjusted to make a create article.

The difference to the old behavior is that the default article type is “SERVICE” and the initialization logic would have initialized the default settings for articles of type “SERVICE” instead of the ones for article type “STORABLE“, which could cause issues if a default values of type “SERVICE” would initialize something that couldn’t be set for article type “STORABLE“.

General changes

Addition of the optional property errorCode to the error response object. In the future, the errorCode will improve the interpretation of business errors in machine-readable form.

Version 24.15.1 - August 8th, 2024

Changes in /salesOrder

New method /salesOrder/id/{id}/activateProjectView

Available for: POST

Changes in /article

The article property commissionRate will be set to the default settings value (defaultArticleCommissionRate) for new articles if not set in the request.

Changes in /purchaseOrderRequest

Just like in the UI, the following supplier request fields are now validated if the status OFFER_RECEIVED is targeted:

  • purchaseOrderRequestOffers.startDate
  • purchaseOrderRequestOffers.endDate
  • purchaseOrderRequestOffers.validFrom
  • purchaseOrderRequestOffers.validTo

Changes in /purchaseInvoice

New method /purchaseInvoice/id/{id}/saveDuplicateInvoiceAsOriginal

Available for: POST

Method for changing the duplicate purchase invoice as original which takes the purchase invoice id as parameter.

Changes in /incomingGoods

Added properties:

  • dropshippingShipmentId (string, read-only)
  • incomingGoodsItems.dropshippingShipmentItemId (string, read-only)

Version 24.14.1 - July 25th, 2024

Changes in /quotation

New method: /quotation/{id}/updatePrices

Available for: POST
Updates all prices of the Quotation. The method returns the updated Quotation.

Changes in /salesOrder

New method: /salesOrder/{id}/updatePrices

Available for: POST
Updates all prices of the SalesOrder. The method returns the updated SalesOrder.

Changes in /salesInvoice

New method: /salesInvoice/{id}/updatePrices

Available for: POST
Updates all prices of the SalesInvoice. The method returns the updated SalesInvoice.

Changes in /customAttributeDefinition/readOrder

Previously this method only returned those IDs of customAttributeDefinition entities, which were explicitly set via /customAttributeDefinition/updateOrder before. Now this method’s response will contain all IDs of existing customAttributeDefinition entities for the given entityType. This especially means:

  • The response always includes entities with active set to false.
  • The response never contains entities with systemCustomAttribute set to true.
  • The response never contains entity IDs of deleted entities.

Version 24.13.1 - July 11th, 2024

Changes in /salesOrder/id/{id}/createDropshipping

Added optional parameter:

  • orderItemIds (list of strings)

Changes in /blanketPurchaseOrder

Added property:

  • reductionAdditionItems (array)

A reductionAdditionItems element consists of

  • position (number, read-only)
  • source (string, read-only)
  • type (string, read-only)
  • value (string, read-only)

Changes in /purchaseOrder

The properties packageTrackingNumber and shippingCarrierId are now editable in any purchase order status, just like in the UI.

Changes in /incomingGoods

New method /incomingGoods/id/{id}/createPurchaseInvoice

Available for: POST

New endpoint /accountingTransaction/batchBooking

Available for: POST

Request properties:

  • batchBookingRecords (array)
  • bookingText (string)
  • costCenterId (string)
  • currencyId (string)
  • externalRecordNumber (string)
  • transactionDate (integer)

batchBookingRecord properties:

  • amount (string)
  • creditAccountId (string)
  • debitAccountId (string)
  • description (string)
  • taxId (string)

Version 24.12.1 - June 27th, 2024

Changes in /party

Added property:

  • allowPurchaseOrderCreation (boolean)

Changes in /purchaseOrder

Added property:

  • invoiced (boolean, read-only)
  • paid (boolean, read-only)

Changes in /purchaseInvoice

Added properties:

  • cancellationDate (date), read-only
  • deliveryDate (date)
  • shippingDate (date)
  • paymentBlock (boolean)
  • costTypeId (string)
  • grossAmountOfHeaderTaxes (integer), read-only
  • grossAmountOfHeaderTaxesInCompanyCurrency (integer), read-only
  • paymentBlock (string), read-only
  • paymentBlockNote (string), read-only
  • purchaseInvoiceItems.deliveryDate (date)
  • purchaseInvoiceItems.shippingDate (date)
  • purchaseInvoiceItems.contractItemId (string), read-only

New endpoint /inventory

Available for: GET
Allows to query existing inventories. They have the following properties:

  • id (string)
  • createdDate (integer)
  • lastModifiedDate (integer)
  • version (string)
  • inventoryNumber (string)
  • description (string)
  • warehouseId (string)
  • levelOfDetail (enum)
  • managerId (string)
  • counter (string)
  • recorder (string)
  • startDate (integer)
  • endDate (integer)
  • status (enum)
  • statusHistory (array)

where levelOfDetail can be STORE or LEVEL and the possible values for status are NEW, PLANNED, DOCUMENTS_PRINTED, STARTED, COMPLETE, DIFFERENCE_CHECKED, BOOKED, CLOSED and CANCELLED.

New endpoint /inventoryItem

Available for: GET, POST, PUT, DELETE
Allows working with inventory items. Changes are only possible while the corresponding inventory is in status STARTED. They have the following properties:

  • id (string)
  • createdDate (integer)
  • lastModifiedDate (integer)
  • version (string)
  • positionNumber (string)
  • inventoryId (string)
  • manualPosition (boolean)
  • expectedQuantity (decimal)
  • countedQuantity (decimal)
  • expirationDate (integer)
  • inventorySerialNumbers (array)
  • replacementValue (decimal)
  • comment (string)
  • articleId (string)
  • storagePlaceId (string)
  • batchNumber (string)
  • orderItemId (string)
  • inventoryTransportReferenceId (string)

where the inventorySerialNumbers have the properties

  • serialNumber (string)
  • status (enum)

with the allowed values EXPECTED, MISSING, CHECKED and MANUALLY for status.

New endpoint /inventoryTransportReference

Available for: GET, PUT
There is no delete because unused ones are removed automatically when the corresponding inventory is booked. They have the following properties:

  • id (string)
  • createdDate (integer)
  • lastModifiedDate (integer)
  • version (string)
  • inventoryId (string)
  • manualReference (boolean)
  • internalTransportNumber (string)
  • loadingEquipmentIdentifierId (string)
  • loadingEquipmentArticleId (string)

Changes in /storagePlace

Added property:

  • currentInventoryId (string)

Changes in /shippingCarrier

positionNumber can be changed to a value that has already been assigned. Subsequent entity’s positionNumber are incremented. It’s also possible to create new ShippingCarriers with an existing positionNumber, the behavior is the same as for the update.

Changes in /article

New additional property: aggregateStock

Version 24.11.1 - June 6th, 2024

Changes in /shipment

New method /shipment/id/{id}/createReturnLabels

Available for: POST

New method /shipment/id/{id}/createShippingLabels

Available for: POST

Changes in /salesOrder

New method /salesOrder/id/{id}/createReturnLabels

Available for: POST

New method /salesOrder/id/{id}/createShippingLabels

Available for: POST

Changes in /incomingGood

New method /incomingGood/id/{id}/createReturnLabels

Available for: POST

Changes in /article

It is now possible to remove price calculation parameters from an article.

New endpoint: /purchaseRequisition

Available for: GET, PUT.

Properties:

  • articleId (string, read-only)
  • customAttributes (array)
  • earliestRequiredDate (integer, read-only)
  • internalShipmentId (string, read-only)
  • latestRequiredDate (integer, read-only)
  • packagingUnitToOrderId (string)
  • productionOrderId (string, read-only)
  • productionOrderItemId (string, read-only)
  • proposedDate (integer, read-only)
  • proposedQuantity (string)
  • purchaseOrderId (string, read-only)
  • requirementQuantity (string, read-only)
  • requisitionNumber (string, read-only)
  • salesOrderItemId (string, read-only)
  • status (string)
  • statusHistory (array, read-only)
  • supplierId (string)
  • warehouseId (string, read-only)

New method: /deleteAllRequisitions
POST /purchaseRequisition/deleteAllRequisitions: deletes all purchase requisitions

New method: /startMaterialPlanningRun
POST /purchaseRequisition/startMaterialPlanningRun: start a new material planning run which will generate purchase requisitions.

  • Parameter: warehouseIds (String)

Changes in /opportunity

New method /opportunity/id/{id}/linkQuotation

Available for: POST

Can be used to link an opportunity to a quotation.

Version 24.10.1 - May 16th, 2024

Changes in /salesOrder

Added property:

  • template (boolean)

Changes in /salesOrder/id/{id}/createShipment

The method takes the optional new parameter additionalSalesOrderIds, a list of String ids of sales orders. It can be used to create a collective shipment, using the id specified in the path as main sales order.

Changes in /shipment

The shipments have the new property salesOrders, a list of onlyId elements. It is not editable and contains the ids of all connected sales order. For non-collective shipments, this essentially duplicates salesOrderId; for collective shipments, the salesOrderId refers to the main sales order that was used during creation.

Shipments can now be cancelled by using the status “CANCELLED”.

Changes in /incomingGoods

The shipments have the new property salesOrders, a list of onlyId elements. It contains the id of the connected sales order (if present).

Changes in /purchaseOrder

Added property:

  • senderCountryCode (String)

Changes in /blanketPurchaseOrder

Added property:

  • senderCountryCode (String)

Changes in /article

It is now possible to create a price calculation parameter with both percentSurcharge and fixSurcharge (or both margin and profit) equal to zero, just like in the UI.

New endpoint /transportationOrder/id/{id}/createPick

Available for: POST
required parameter:

  • packagingUnitBaseArticleId (string)
  • storagePlaceId (string)
  • quantity (string)

optional parameter:

  • internalTransportReferenceId (string)
  • batchNumber (string)
  • orderItemId (string)
  • serialNumbers (array)
  • existingReservations (array)

An existingReservations element consists of:
required properties:

  • orderItemId (string)
  • quantity (string)
    optional properties:
  • serialNumbers (array)

Both serialNumbers properties are a arrays of strings.

Creates a new pick and adds it to the transportionOrder. See API documentation for further information regarding existingReservations.

Changes in/salesInvoice

Added properties:

  • bookingText (string)
  • commissionBlock (boolean)
  • creditResetsOrderState (boolean), read-only
  • directDebitFileCreated (boolean)
  • directDebitFileLatestDate (integer), read-only
  • dunningBlockDateUntilDate (integer), read-only
  • dunningBlockNote (string), read-only
  • dunningBlockState (string), read-only
  • sepaDirectDebitMandateId (string)
  • salesInvoiceItems.contractItemId (string), read-only
  • salesInvoiceItems.deliveryDate (integer)
  • salesInvoiceItems.shippingDate (integer)

Changes in /termOfPayment

Added properties:

  • dueDateOption (String – possible values: ‘IMMEDIATE’, ‘PERIOD’, ‘FIX’, ‘END_OF_MONTH’)
  • numberOfDays (number)
  • fixedDay (number)

Version 24.09.1 - May 3rd, 2024

Changes in /externalConnection

Remove unused values ‘FIGO_REG_SHIELD_PROD’ and ‘FIGO_REG_SHIELD_STAGING’ for connectionType.

Changes in /recordEmailingRule

Added property:

  • bccRecipients (String)
  • paymentMethodTypes (array)

Changes in /salesOrder

Added property:

  • advancePaymentAmount (string)
    • Can only be set in salesOrders of type “ADVANCE_PAYMENT” and is otherwise ignored
    • Can be used to adjust the amount of the advance payment invoice of a sales order
  • payments (array)
    • Can only be set in salesOrders of type “PART_PAYMENT” and is otherwise ignored
    • Can be used to manage part payments for sales orders

payment properties:

  • amount (string)
  • positionNumber (integer, read-only)
  • salesInvoiceId (string, read-only)

Changes in /user

Creating a new user doesn’t send an invitation email anymore. Instead use the new endpoint /user/id/{id}/invite to send an invitation email if needed.

New method /user/id/{id}/invite

Available for: POST

Sends an invitation email to the given user. Response object is the user.

Changes in /article

New method /article/id/{id}/changeUnit

Available for: POST

Method for changing the unit of an article which takes the unit’s id as a parameter.

Changes in /purchaseInvoice

It is now possible to change the value of dueDate, just like in the UI.

Version 24.08.1 - April 18th, 2024

Changes in /user

Add property licenses(array[string]). For possible values see endpoint /system/licenses.

Adding values to licenses on /user is limited by the licenses booked in the tenant.

Changes in /system

New method /system/licenses

Available for: GET

Returns all licenses visible to the tenant as array[string].

These are licenses, which are either available for booking, available for assignment to users or assigned to users. Only available for admin users.

New endpoint: /job

Technical endpoint (not entity related), contains 2 GET methods:

New method: /job/status

GET /job/status?type=<type> : Query the status of the given job

  • Parameter: “type” (type of job to query)

New method: /job/abort

GET /job/abort?type=<type> : Abort the given job

  • Parameter: “type” (type of job to abort)

All methods return the job status object:

  • result
    • type (string) : use as parameter “type” for methods “status” and “abort”
    • status (enum)
    • lastActivity (timestamp)
    • totalSteps (integer)
    • finishedSteps (integer)
    • errors (array of strings)
    • logMessages (array)
      • userId (integer, optional) : ID of the user who triggered the message
      • severity (enum)
      • message (string)
      • summary (string, optional)
      • entityName (string, optional) : name of the entity the message is referring to
      • entityId (integer, optional) : ID of the entity the message is referring to

Async job usage

The common pattern of working with asynchronous jobs in the API is as follows:

  1. Start the job via the correct REST method in the semantically appropriate endpoint
  2. Poll /job/status with the “type” parameter from the returned status object until the job is finished (status == NOT_EXECUTING)
  3. Optionally abort it via /job/abort (with the same “type” parameter)
  4. Optionally fetch the computed results with another provided REST method

Jobs are started via methods on the respective associated endpoints. These will be added over time.

Changes in /ticketType

Added property:

  • articleId (string)
    • References a service article as default article for a ticket type

Version 24.07.1 - April 4th, 2024

Changes in /article

New additional property:
averagePrice

Changes in /salesOrder

To prevent a discrepancy between sales order and sales invoice, it is not possible anymore to change taxId, taxName and discountPercentage for an order item linked to an uncancelled sales invoice item, just like in the UI.

Changes in /shipment

New method /shipment/id/{id}/createPickingList

Available for: POST

Changes in /productionOrder

New method /productionOrder/id/{id}/createPickingList

Available for: POST

Changes in /transportationOrder

New method /transportationOrder/id/{id}/createPickingList

Available for: POST

Version 24.06.1 - March 21th, 2024

Changes in /purchaseInvoice

New method /purchaseInvoice/id/{id}/downloadLatestPurchaseInvoiceDocument

Available for: GET

Version 24.05.1 - March 7th, 2024

Changes in /article

It is now possible to remove quantity conversions from an article.

Version 24.04.1 - February 22th, 2024

General changes

New UI for API documentation

Performance has been significantly improved with the new UI and the layout has been optimized. In addition, it is now possible to search for endpoints using a filter function.

Changes in /customAttributeDefinition

The endpoint also supports POST, PUT and DELETE in addition to GET now.

Added properties:

  • permissions (array)
  • conditions (array)

customAttributeDefinitionPermission:

  • userRoleId (string)
  • permissionType (string)

customAttributeDefinitionConditions:

  • ignoreConditionsIfValueIsSet (boolean)
  • conditionsForEntityType (array)

conditionsForEntityType:

  • entityType (string)
  • propertyConditions (array)

customAttributeDefinitionPropertyCondition:

  • propertyName (string)
  • propertyValue (string)
  • conditionOperator (string)
  • propertyType (string)

Further information:

  • the defaultValue for the attributeType ‘URL’ gets also displayed by defaultStringValue now and can be updated by this. (previously the value wasn’t displayed at all)

New endpoint /customAttributeDefinition/id/{id}/readOrder

Available for: GET
required parameter: entityType (string)
returns a list of order objects with two properties:

  • id (string)
  • overrideGroupName (string, optional)

New endpoint /customAttributeDefinition/id/{id}/updateOrder

Available for: POST
required parameter:

  • entityType (string)
  • order (array)
    order properties:
  • id (string)
  • overrideGroupName (string, optional)

Changes in /purchaseOrder/id/:id/createPurchaseInvoice

added properties

  • invoiceNumber (string)
  • allowExistingInvoiceNumber (boolean)

Changes in /purchaseInvoice

Added property:

  • vatRegistrationNumber (string)

Changes in /document

New value ‘PURCHASE_INVOICE_ZUGFERD‘ for property documentType

Version 24.03.1 - February 8th, 2024

Changes in /warehouseStockMovement

Breaking API Change:

All endpoints for POST return a more meaningful response: instead of a generic success object, they return a (non-empty) list of warehouse stock movements that were created while processing the requested booking.

Changes in /warehouseStock

Added property

packagingUnits (array) – with elements consisting of:

  • articleId (string)
  • packagingUnitQuantity (int)
  • baseArticleQuantity (long)

Breaking API Change:

Removed properties:

  • packagingUnitArticleId (string)
  • packagingUnitQuantity (decimal)

Changes to /article

Breaking API Change:

If an article or any of the related packaging units has a supply source, the property primarySupplySourceId is required regardless of the article type. Before, this was only the case for storable articles.

Changed property:

  • plannedWorkingTimePerUnit (string) is now of type (integer)

Changed endpoint /purchaseOrderRequest/id/{id}/createPurchaseOrder

Breaking API Change:

Changed property:

  • offerItemToUpdateSupplierInformation.updatePurchasePrice is not a boolean anymore, but a string with values
    • NO_UPDATE
    • UPDATE_GENERAL_PURCHASE_PRICE
    • UPDATE_PURCHASE_PRICE_ONLY_FOR_CUSTOMER

Changes in/unit

Breaking API Change:

Removed property:

  • defaultUnitHourAmount (string): use timeUnitAmount (integer) instead

Added property:

  • timeUnitAmount (integer)

Changes in/quotation

Breaking API Change:

Changed property:

  • quotationItems.plannedWorkingTimePerUnit (string) is now of type (integer)

Changes in/salesOrder

Breaking API Change:

Changed property:

  • orderItems.plannedWorkingTimePerUnit (string) is now of type (integer)

Changes in /archivedEmail

Breaking API Change:

id is now a “real” entity id instead of the previously combined id of the linked entities

Remove method DELETE /archivedEmail/id/{id}

New method POST /archivedEmail/id/{id}/removeReference

required body properties:

  • entityName (string)
  • entityId (string)

Changes in /contract

Breaking API Change:

Changed property:

  • billingTargetInvoiceStatus (string)

the type ‘BOOKED‘ no longer exists (existing occurences replaced by ‘OPEN_ITEM_CREATED‘). Invoices created by a contract will now be automatically booked according to the setting enableAutomaticBooking

Changes in /incomingGoods, /shipment

Breaking API Change:

The status “INCOMING_GOODS_MOVEMENT_PRINTED” was removed.

Changes in /accountingTransaction

Breaking API Change:

Removed properties from transactionDetails :

  • id
  • version
  • createdDate
  • lastModifiedDate
  • accountNumber
  • currencyId
  • currencyName
  • taxName
  • transactionDetailType

Changes in /opportunity

Breaking API Change:

Removed properties:

  • leadId (string): use customerId (string) instead
  • leadNumber (string): use customerNumber (string) instead

Changes in /shipment/{id}/createShippingLabelPdf

Using this endpoint requires shipment update permissions now.

Changes in /purchaseOrder

Added property:

  • plannedShippingDate(integer)

Version 24.01.1 - January 11th, 2024

General changes

Introduce dry-run functionality

Support the functionality for generic PUT, POST and DELETE endpoints to perform operations in a “dry-run-mode”. Where possible, business logic is executed and the data submitted by the requester is validated.
To use this functionality the requester can set the optional query parameter “dryRun” (boolean, default: false). The return is as far as possible as with a productive execution, except that 200 “ok” is returned in case of success.
The meta properties (id, version, createdDate, lastModifiedDate) are not included in “dry-run-responses”.

Changes for error handling

Unify the base error message during validation to “Validation failed” (400) for all generic entity endpoints. For more information, see the error message details.

For DELETE requests, an error response of the type “validation” (400) is now also returned if possible. In this case, this error object contains the referenced entities that block the deletion. The previous error message “Conflict” (409) can still be returned in some cases.

Extend endpoint /salesOrder

New additional properties:

  • plannedBillableEffort
  • bookedBillableWork
  • plannedEffort
  • bookedWork
  • invoicedServices
  • invoiceableServices
  • notInvoicedServices
  • costOfServices

Extend endpoint /ticket

New additional properties:

costOfServices

Version 23.23.1 - November 30th, 2023

Changes in /transportationOrder

It is now allowed to create transportation orders of type STOCK_TRANSFER without any picks. This can be used to create an internal transport reference for them before specifying the article to be transferred. A pick can be added later via PUT.

New endpoint /ticketPoolingGroup

Available for: GET

Properties:

  • name (string)
  • description (string)
  • ticketCategories (array)
  • ticketPoolingGroupMembers (array)

ticketPoolingGroupMember properties:

  • userId (string)
  • ticketPoolingGroupId (string)

Changes in /ticket, /ticketAssignmentRule

Added property: assignedPoolingGroupId (string)

ticketAssigneeTypeinternalTicketStatus allow the new value “POOL

Changes in /purchaseOrderRequest

The property purchaseOrderRequestOffers.purchaseOrderRequestOfferItems.procurementLeadDays is now nullable and the new default value is null instead of 0.

Changes in /externalConnection

Modified property value:

  • connectionType (ENUM)
    • Changed from SENDINBLUE to BREVO

Version 23.22.1 - November 16th, 2023

Changes in /article

Breaking API Change:

Removed query parameters:

  • salesBillOfMaterialArticle (boolean): for true, use “articleType”: “SALES_BILL_OF_MATERIAL” instead
  • serviceArticle (boolean): for true, use “articleType”: “SERVICE” instead
  • shippingCostArticle (boolean): for true, use “articleType”: “SHIPPING_COST” instead
  • storable (boolean): for true, use “articleType”: “STORABLE” instead

Changes in /articlePrice

Breaking API Change:

Removed properties:

  • distributionChannel (string, read-only): use salesChannel instead

Changes in /articleSupplySource

property:
articlePrices.customerId can now be set, allowing the creation of customer purchase prices.

Changes in /purchaseInvoice

added properties

  • importSalesTaxAmount (string)
  • importSalesTaxId (string, readonly)
  • bookingDate (integer)
  • creatorId(string) (readonly)

purchaseInvoiceItem.supplierArticleId cannot be filtered anymore.

Changes in /salesInvoice

Added property:

  • bookingDate (integer)
  • creatorId(string) (readonly)

For a sales invoice, switching from status OPEN_ITEM_CREATED to CANCELLED is only possible if no uncancelled credit notes linked to the sales invoice exist.

Changes in

  • /opportunity
  • /quotation
  • /salesOrder
  • /shipment
  • /blanketPurchaseOrder
  • /performanceRecord
  • /incomingGoods
  • /purchaseOrderRequest
  • /contract

Added property:

  • creatorId(string) (readonly)

Changes to /purchaseOrder

purchaseOrderItem.supplierArticleId cannot be filtered anymore.

Added property:

  • creatorId(string) (readonly)

New endpoint /article/id/{id}/packagingUnitStructure

Available for: GET

Returns a list of articles that have the same packagingUnitBaseArticleId as the article with the specified id.

Version 23.21.1 - November 2nd, 2023

Changes in /user

Property status is now editable. Possible values:

  • ACTIVE
  • NOT_ACTIVE

New endpoint /mailTemplate

Available for: GET, POST, PUT, DELETE.

Properties:

  • bccEmailAddresses (string)
  • ccEmailAddresses (string)
  • creatorId (string, read-only)
  • name (string)
  • subject (string)
  • text (string)
  • toEmailAddresses (string)
  • type (string)
  • useAsDefault (boolean)

New endpoint /recordEmailingRule

Available for: GET, PUT, POST, DELETE.

Properties:

  • active (boolean)
  • attachRecordDocument (boolean)
  • ccRecipients (string)
  • event (string, required)
  • mailAccountId (string)
  • name (string)
  • otherRecipients (string)
  • recipientType (string, required)
  • salesChannels (array)
  • salesInvoiceTypes (array)
  • salesInvoiceOrigin (string)
  • templateId (string, required)

Changes in /ticket

Changed endpoint:

  • /ticket/id/{id}/linkSalesOrder
    • Linking to salesOrders that have no services is now possible.
    • Linking to salesOrders that are in their final states (CLOSED, CANCELED, MANUALLY_CLOSED) is no longer possible.

Changed endpoint /shippingCarrier

internalShippingCarrier allows the new value ‘DHL_EXPRESS_ECONOMY_SELECT

Version 23.19.1 - October 5th, 2023

Changes in /document

added properties

  • documentSize (integer)
  • versions.documentSize (integer)
  • versions.userId (string)

New endpoint /document/id/{id}/downloadDocumentVersionsZipped

Available for: GET

Query parameters:

  • filename (string, optional)
  • ids (array, optional)

Changes in /purchaseOrder

Added property:

  • supplierQuotationNumber (string)

Changes in /blanketPurchaseOrder

Added property:

  • supplierQuotationNumber (string)

Changes in /article

Added property:

  •  commissionRate (string)

Create article with the unit that is set in the request (if valid) and not the default unit for the article type.

Changes in /ticket

New additional properties:

  • billableTime
  • invoiceableTime

Changed endpoint /shippingCarrier

internalShippingCarrier allows the new value ‘DHL_EXPRESS_ECONOMY_SELECT

Version 23.18.1 - September 21th, 2023

We want to inform you upfront about breaking API changes that will be introduced with the warehouse management release 23.18.1 on September 21st, 2023. All sections titled “Changed endpoint…” contain breaking changes.

 

New dispositionInfoAvailabilityType

The new type ‘TRANSFER_REQUIRED‘ can show up wherever disposition availability is used. This affects the fields availability and availabilityForAllWarehouses in the following endpoints:

  • /productionOrder
  • /salesOrder
  • /shipment

Changed endpoint /article

Renamed properties:

  • defaultWarehouseLevels to defaultStoragePlaces

Added properties:

  • defaultLoadingEquipmentIdentifierId (string)
  • loadingEquipmentArticleId (string)
  • packagingQuantity (integer)
  • packagingUnitBaseArticleId (string)
  • packagingUnitParentArticleId (string)
  • primarySupplySourceId (string)

and articleType allows the new values ‘LOADING_EQUIPMENT‘, ‘LOADING_EQUIPMENT_STORABLE‘ and ‘PACKAGING_UNIT‘.

Changed endpoint /incomingGoods

Added properties: the elements of the incomingGoodsItem array now have a salesOrderItemId (string).

Changes in /incomingGoods/id/{id}/incomingBookings and /incomingGoods/id/{id}/updateIncomingBookings

Renamed properties:

  • confirmedByUserId to confirmedByUserIdDeprecated
  • confirmedDate to confirmedDateDeprecated
  • confirmedQuantity to confirmedQuantityDeprecated
  • levelId to storagePlaceId

Note that confirmed by user and confirmed date do exist again (see below), but have a different meaning from before.

Added properties:

  • bookIntoWarehouse (boolean)
  • confirmedByUserId (string)
  • confirmedDate (integer)
  • internalTransportReferenceId (string)
  • loadingEquipmentIdentifierId (string)

At the end of the update steps, all incoming bookings that were marked with bookIntoWarehouse as true will be booked to the respective storage places.

New endpoint /internalTransportReference

Available for: GET, POST, PUT, DELETE.

Creating and updating internal transport references is only possible for permanent ones. Update can currently only be used to deactivate internal transport references.

Properties:

  • id (string)
  • createdDate (integer)
  • lastModifiedDate (integer)
  • version (string)
  • active (boolean)
  • internalTransportReferenceNumber (string)
  • loadingEquipmentArticleId (string)
  • loadingEquipmentIdentifierId (string)
  • permanent (boolean)
  • warehouseId (string)
New endpoint /internalTransportReference/id/{id}/createLabel (POST)
New endpoint /internalTransportReference/id/{id}/downloadLatestLabel (GET)

New endpoint /loadingEquipmentIdentifier

Available for: GET, POST, PUT, DELETE.

Properties:

  • id (string)
  • createdDate (integer)
  • lastModifiedDate (integer)
  • version (string)
  • description (string)
  • loadingEquipmentArticles (array)
  • name (string)

where loadingEquipmentArticles is an array of id properties referencing articles.

Removed endpoints /migrationStoragePlace/warehouse/id/{id}/updateStoreMigration

and /warehouseLevel

These are no longer needed as the warehouse migration is complete. The former levels, now storage places, can be found and updated via the storageLocation or shelf endpoint, respectively. For a more direct acess, there also is the (read-only) endpoint storagePlace.

New endpoint /pick (GET)

Provides direct (read-only) access to all picks used in production orders, shipments and transportation orders.

Properties:

  • id (string)
  • createdDate (integer)
  • lastModifiedDate (string)
  • version (string)
  • batchNumber (string)
  • confirmedByUserId (string)
  • confirmedDate (integer)
  • internalTransportReferenceId” (string)
  • quantity (string)
  • serialNumbers (array)
  • storagePlaceId (string)
  • bookedDate (integer)
  • orderItemId (string)
  • packagingUnitBaseArticleId (string)
  • positionNumber (integer)
  • productionOrderItemId (string)
  • shipmentItemId (string)
  • sourceInternalTransportReferenceId (string)
  • sourceStoragePlaceId (string)
  • transportationOrderId (string)

where serialNumbers is an array of strings (the string values of the repsective serial numbers).

New endpoint /pickCheckReason

Available for: GET, POST, PUT, DELETE.

Properties:

  • id (string)
  • createdDate (integer)
  • lastModifiedDate (string)
  • version (string)
  • active (boolean)
  • description (string)
  • name (string)
  • positionNumber (integer)

Changed endpoint /productionOrder

Renamed properties:

  • withdrawalsComplete to picksComplete
  • in the productionOrderItem array
    • actualWithdrawalDate to actualPickDate
    • actualWithdrawalQuantity to actualQuantity
    • targetWithdrawalDate to targetPickDate
    • targetWithdrawalQuantity to targetQuantity

Removed properties:

  • allWithdrawalsConfirmed
  • assignedPickingUserId
  • assignedPickingUserUpdateDate
  • assignedPickingUserUsername

can all be managed via the corresponding picking orders.

Added properties:

  • assemblyStoragePlaceId (string)

Changed endpoint /salesOrder

Renamed properties:

  • in orderItems array
    • withdrawalBatchNumber to pickBatchNumber
    • withdrawalSerialNumbers to pickSerialNumbers
    • withdrawalWarehouseLevelId to pickStoragePlaceId

Added property:

  • in orderItems array
    • returnedQuantity (string)
Changed endpoint /salesOrder/id/{id}/addItem

Changes as in the orderItems array above. The added property is not actually relevant for this endpoint. It is a read-only field providing additional information when reading existing sales order items.

Changed endpoint /shipment

Renamed properties:

  • destinationWarehouseLevelId to destinationStoragePlaceId
  • withdrawalsComplete to picksComplete

Removed properties:

  • allWithdrawalsConfirmed
  • assignedPickingUserId
  • assignedPickingUserUpdateDate
  • assignedPickingUserUsername

can all be managed via the corresponding picking orders.

Added properties:

  • consolidationStoragePlaceId (string)
  • in the shipmentItems array
    • purchaseOrderItemId (string)

Changed endpoint /shelf

that was only for GET is now available for POST, PUT and DELETE as well.

Removed properties: the elements of storagePlaces no longer contain shelfIdstorageLocationId and warehouseId as these just duplicated the idstorageLocationId and warehouseId of the respective shelf.

Added properties: the elements of storagePlaces show the new properties as described in the storagePlace endpoint.

New endpoints /shelf/id/{id}/activate (POST) and /shelf/id/{id}/deactivate (POST)

Changed endpoint /storageLocation

that was only for GET is now available for POST, PUT and DELETE as well.

Removed properties: the elements of blockStoragePlaces no longer contain storageLocationId and warehouseId as these just duplicated the id and warehouseId of the respective location.

Added properties:
The elements of storagePlaces show the new properties as described in the storagePlace endpoint.

  • customAttributes (array)
  • storagePlaceTypeSettingsBlocked (object)
  • storagePlaceTypeSettingsPicking (object)
  • storagePlaceTypeSettingsStock (object)
    where the three settings properties each have the properties

    • allowMixedStoring (boolean)
    • automaticPlaceAssignment (boolean)
    • multiplePlacesPerBaseArticle (boolean)
    • transportationOrderRequiresFreeSegment (boolean)
New endpoints /storageLocation/id/{id}/activate (POST) and /storageLocation/id/{id}/deactivate (POST)

New endpoint /storagePlace

available for GET

This replaces the old warehouseLevel endpoint and shows the information from there combined with the corresponding migrationStoragePlace. Updates are possible via the storageLocation or shelf endpoint, respectively.

Properties:

  • id (string)
  • version (string)
  • active (boolean)
  • barcode (string)
  • blockedForResupply (boolean) +
  • blockedForResupplyReasonId (string) +
  • createdDate (integer)
  • customAttributes (array) +
  • customerId (string)
  • fieldNumber (integer)
  • lastModifiedDate (integer)
  • levelNumber (integer)
  • name (string)
  • shelfId (string)
  • shelfStorageLocationId (string) +
  • storageLocationId (string)
  • storagePlaceSizeId (string) +
  • storagePlaceType (enum)
  • warehouseId (string)

Compared to warehouseLevel, we removed the properties

  • deleted does not exist anymore
  • deleteInLogisticsMigration as it only was relevant for migration
  • parentLevelId of the old warehouse structure roughly corresponds to storageLocationId or shelfId
  • forPicking and stockable are replaced by a suitable storagePlaceType
  • heightlengthwidth and weight have been migrated to custom attributes

Compared to migrationStoragePlace, the property migratedLevelId is removed as it only was relevant for migration and numberOfField is renamed to fieldNumbernumberOfLevel to levelNumber.

The properties marked with a plus are new, i.e., were present in neither of the two old endpoints.

New endpoint /storagePlaceBlockingReason

Available for: GET, POST, PUT, DELETE.

Properties:

  • id (string)
  • createdDate (integer)
  • lastModifiedDate (string)
  • version (string)
  • active (boolean)
  • description (string)
  • name (string)
  • positionNumber (integer)

New endpoint /storagePlaceSize

Available for: GET, POST, PUT, DELETE.

Properties:

  • id (string)
  • createdDate (integer)
  • lastModifiedDate (integer)
  • version (string)
  • description (string)
  • loadingEquipmentIdentifierId (string)
  • name (string)
  • segmentQuantity (integer)

New endpoint /transportationOrder

Available for: GET, POST, PUT, DELETE.

Properties:

  • id (string)
  • createdDate (integer)
  • lastModifiedDate (integer)
  • version (string)
  • assignedUserId (string)
  • customAttributes (array)
  • destinationStoragePlaceId (string)
  • internalTransportReferenceId (string)
  • loadingEquipmentArticleId (string)
  • loadingEquipmentIdentifierId (string)
  • picks (array)
  • productionOrderId (string)
  • shipmentId (string)
  • status (string)
  • statusHistory (array)
  • transportationOrderNumber (string)
  • transportationOrderType (string)

where picks is an arry of picks (see /pick endpoint), except they do not repeat the transportationOrderId property.
The possible values for status are ‘NEW‘, ‘IN_TRANSIT‘, ‘IN_INTERIM‘, ‘COMPLETED‘ and ‘CANCELLED‘. transportationOrderType can be ‘PICKING‘ or ‘STOCK_TRANSFER‘.

New endpoint /transportationOrder/id/{id}/createTransportationOrderFromUnpickedRecords (POST)

Properties:

  • loadingEquipmentArticleId (string)
  • loadingEquipmentIdentifierId (string)
New endpoint /transportationOrder/id/{id}/internalTransportReferencesForPickUp (GET)

Parameters:

  • ignoreCurrentLoadingEquipment (boolean)
New endpoint /transportationOrder/id/{id}/pickPick (POST)

Properties:

  • pickId (string)
  • inputQuantity (string)
  • inputSerialNumbers (array)
  • preferredPackagingUnitId (string)
  • bookLoadingEquipmentOnDissolveOfPreferred (boolean)
New endpoint /transportationOrder/id/{id}/putDownInternalTransportReference (POST)

Properties:

  • targetStoragePlaceId (string)
  • targetTransportReferenceId (string)
  • targetLoadingEquipmentIdentifierId (string)

Changed endpoint /warehouse

that was only for GET is now available for POST, PUT and DELETE as well.

Renamed properties:

  • defaultLevelId to defaultStoragePlaceId
  • defaultProductionLevelId to defaultProductionStoragePlaceId
  • defaultReturnsLevelId to defaultReturnsStoragePlaceId

Removed properties:

  • defaultOutgoingGoodsLevelId

Added properties:

  • customAttributes (array)
  • defaultConsolidationStoragePlaceId (string)
  • directBookingInternalTransportReferenceId (string)
  • loadingEquipmentStoragePlace (object) with properties
    • id (string)
    • createdDate (integer)
    • lastModifiedDat}e (integer)
    • version (string)
    • customAttributes (array)
    • name (string)
  • shortIdentifier (string)
  • standard (boolean)
  • transitStoragePlace (object) with same properties as the loadingEquipmentStoragePlace above

The warehouse type ‘CONTAINER‘ no longer exists. Note that the warehouse of type ‘DROP_SHIPPING‘ is no longer visible.

New endpoints /warehouse/id/{id}/activate (POST) and /warehouse/id/{id}/deactivate (POST)

Changed endpoint /warehouseStock (GET)

Removed properties:

  • reservations, use picks instead
  • serialNumber
  • serialNumberId, there now is the array of serial number ids

Renamed properties:

  • warehouseLevelId to storagePlaceId

Added properties:

  • internalTransportReferenceId (string)
  • packagingUnitArticleId (string)
  • packagingUnitQuantity (string)
  • picks (array)
  • serialNumbers (array)

Changed endpoint /warehouseStockMovement

Changes for GET

Removed properties:

  • serialNumber
  • serialNumberId, there now is the array of serial number ids

Renamed properties:

  • warehouseLevelId to storagePlaceId

Added properties:

  • internalTransportReferenceId (string)
  • serialNumbers (array)
  • transportationOrderId (string)

There are additional values for the type: ‘IN_DISABLE_TRANSPORT_REFERENCE‘, ‘IN_PACKAGING_UNIT_TRANSFORMATION‘, ‘IN_REPACK_ON_TRANSPORT_REFERENCE‘, ‘IN_TRANSFER‘, ‘OUT_DISABLE_TRANSPORT_REFERENCE‘, ‘OUT_PACKAGING_UNIT_TRANSFORMATION‘, ‘OUT_REPACK_ON_TRANSPORT_REFERENCE‘, ‘OUT_TRANSFER
Conversely, the type ‘TRANSFER‘ no longer exists (replaced by ‘IN_TRANSFER‘ and ‘OUT_TRANSFER‘).

New endpoint /warehouseStockMovement/bookDirectStockTransfer (POST)

Properties:

  • articleId (string)
  • quantity (string)
  • sourceStoragePlaceId (string)
  • internalTransportReferenceId (string)
  • destinationStoragePlaceId (string)
  • batchNumber (string)
  • serialNumbers (array)
  • customAttributes (array)

This is for the simplified direct booking functionality using the direct booking internal transport reference. For more flexibility, explicitly use transportation orders. This new endpoint replaces the following removed endpoint.

Removed endpoint /warehouseStockMovement/bookTransferMovement (POST)
New endpoint /warehouseStockMovement/bookFromLoadingEquipmentPlace (POST)

Properties:

  • loadingEquipmentArticleId (string)
  • quantity (string)
  • targetStoragePlaceId (string)
  • targetInternalTransportReferenceId (string)
  • movementNote (string)
  • customAttributes (array)
Changed endpoint /warehouseStockMovement/bookIncomingMovement (POST)

Renamed properties:

  • targetWarehouseLevelId to targetStoragePlaceId

Added properties:

  • internalTransportReferenceId (string)
  • loadingEquipmentIdentifierId (string)
New endpoint /warehouseStockMovement/bookOntoInternalTransportReference (POST)

Properties:

  • articleId (string)
  • baseArticleQuantity (string)
  • sourceInternalTransportReferenceId (string)
  • sourceStoragePlaceId (string)
  • targetInternalTransportReferenceId (string)
  • loadingEquipmentArticleId (string)
  • loadingEquipmentIdentifierId (string)
  • bookFromLoadingEquipmentPlace (boolean)
  • bookLoadingEquipmentOnDissolveOfPreferred (boolean)
  • movementNote (string)
  • batchNumber (string)
  • serialNumbers (array)
  • customAttributes (array)
Changed endpoint /warehouseStockMovement/bookOutgoingMovement (POST)

Renamed properties:

  • sourceWarehouseLevelId to sourceStoragePlaceId

Added properties:

  • internalTransportReferenceId (string)
New endpoint /warehouseStockMovement/bookToLoadingEquipmentPlace (POST)

Properties:

  • loadingEquipmentArticleId (string)
  • quantity (string)
  • sourceStoragePlaceId (string)
  • sourceInternalTransportReferenceId (string)
  • movementNote (string)
  • customAttributes (array)

Version 23.17.1 - August 24th, 2023

Changes in /purchaseOrderRequest

The field disableEmailTemplate is now editable for any status of the supplier request, just like in the UI.

Changes in /shipment

The fields disableEmailTemplate and sentToRecipient are now editable for any status of the shipment, just like in the UI.

Changes in /incomingGoods

The field disableEmailTemplate is now editable for any status of the incoming goods, just like in the UI.

Changes in /purchaseOrder

The fields disableEmailTemplate and sentToRecipient are now editable for any status of the purchase order, just like in the UI.

Changes in /salesOrder

The fields disableEmailTemplate and sentToRecipient are now editable for any status of the sales order, just like in the UI.

Changes in /blanketPurchaseOrder

The fields which can be adjusted for a certain status are now aligned with the UI:

  • In status NEW, all fields are editable.
  • In status DOCUMENT_PRINTED, only the fields confirmationNumberdescriptionsentToRecipient and supplierBlanketPurchaseOrderNumber are editable.
  • In all other status, only the fields descriptionsentToRecipient and supplierBlanketPurchaseOrderNumber are editable.

Changes in /userRole

Complementary to the new permission management with user roles (currently in beta) there is a simplified mode for permission management without user roles available during a tenant’s evaluation period. You can enter that simplified mode by disabling user roles (/disableUserRolesDuringTrial) and leave that simplified mode again by enabling user roles (/enableUserRolesDuringTrial).

New endpoints:

  • /userRole/enableUserRolesDuringTrial (POST)
  • /userRole/disableUserRolesDuringTrial (POST)

Added property:

  • allPermissionsEnabled (boolean, read-only)

Changes in /ticket

Changed endpoint:

  • /ticket/id/{id}/linkSalesOrder
    • optional property taskIdToOrderItemId (object)

Changes in /document

Add property documentType (string) with possible values:

  • ARTICLE_DATASHEET
  • ARTICLE_LABEL
  • BLANKET_PURCHASE_ORDER
  • CONTRACT
  • CRM_EVENT_LETTER
  • CUSTOMER_ARTICLE_PRICE_LIST
  • DUNNING
  • INCOMING_GOODS
  • INCOMING_GOODS_FROM_RETURN
  • INCOMING_GOODS_RETURNS_PICKUP_NOTE
  • INVENTORY_TAKING
  • PERFORMANCE_RECORD
  • PRODUCTION_ORDER
  • PURCHASE_INVOICE
  • CREDIT_ADVICE
  • CREDIT_ADVICE_CANCELLATION
  • CREDIT_ADVICE_PRELIMINARY_INVOICE
  • CREDIT_ADVICE_UBL
  • CREDIT_ADVICE_XR
  • PURCHASE_INVOICE_FATTURAPA
  • PURCHASE_ORDER
  • PURCHASE_ORDER_CANCELLATION
  • PURCHASE_ORDER_DEFAULT
  • PURCHASE_ORDER_REQUEST
  • PURCHASE_ORDER_REQUEST_SUPPLIER_DOCUMENT
  • QUOTATION
  • QUOTATION_DEFAULT
  • SALES_INVOICE
  • SALES_INVOICE_CANCELLATION
  • SALES_INVOICE_DEFAULT
  • SALES_INVOICE_FATTURAPA
  • SALES_INVOICE_PRELIMINARY
  • SALES_INVOICE_QR
  • SALES_INVOICE_UBL
  • SALES_INVOICE_XR
  • SALES_ORDER
  • SALES_ORDER_DEFAULT
  • SHIPMENT_CUSTOMS_DECLARATION
  • SHIPMENT_DELIVERY_LABEL
  • SHIPMENT_DELIVERY_NOTE
  • SHIPMENT_DELIVERY_NOTE_DEFAULT
  • SHIPMENT_PICKING_LIST
  • SHIPMENT_PROFORMA_INVOICE
  • SHIPMENT_RETURN_DELIVERY_NOTE
  • SHIPMENT_RETURN_LABEL
  • SHIPMENT_SERIAL_NUMBERS_CSV
  • TICKET

This new property can only be updated for purchaseInvoice documents by using one of the following operations:

  • POST /document/upload
  • PUT /document/id/ {id}

Version 23.16.1 - August 10th, 2023

Sales partners are found under CRM Suppliers instead of CRM Customers from now on

Renamed properties:

  • salesPartnerCustomerId to salesPartnerSupplierId
  • salesPartnerCustomerNumber to salesPartnerSupplierNumber

Affected endpoints:

  • /salesOrder
  • /quotation
  • /incomingGoods
  • /performanceRecord
  • /salesInvoice
  • /shipment
  • /contract
  • /party
  • /customer
  • /lead

Changes in /party

Renamed properties:

  • customerFormerSalesPartner to formerSalesPartner
  • customerSalesPartner to salesPartner
  • customerSalesPartnerDefaultCommissionFix to salesPartnerDefaultCommissionFix
  • customerSalesPartnerDefaultCommissionPercentage to salesPartnerDefaultCommissionPercentage
  • customerSalesPartnerDefaultCommissionType to salesPartnerDefaultCommissionType

Changes in /customer

Removed properties:

  • salesPartner
  • salesPartnerDefaultCommissionFix
  • salesPartnerDefaultCommissionPercentage
  • salesPartnerDefaultCommissionType

 

Additional Breaking changes:

Changes in /quotation

Removed properties:

  • leadId (string): use customerId (string) instead
  • leadNumber (string): use customerNumber (string) instead

Changes in /salesOrder

Removed properties:

  • scheduledDeliveryDate (string): use plannedShippingDate (string) instead
  • orderItems.scheduledDeliveryDate (string): use orderItems.plannedShippingDate (string) instead

Changes in /purchaseInvoice

Removed property:

  •  purchaseInvoiceItems.purchaseInvoiceItemRelationship.purchaseInvoiceItemId (read only)

Changed property:

  • status (Changed value: “VOID” to “CANCELLED”)

Changes in /salesInvoice

Changed property:

  • status (Changed value: “VOID” to “CANCELLED”)

Non-breaking changes:

Changes in /purchaseInvoice

Added property:

  • grossPrices (boolean)

Changes in /salesOrder

New endpoint:

/salesOrder/id/{id}/toggleServicesFinished (POST)

New endpoint /warehouse/id/{id}/updateStoreMigration

Available for: POST

Properties:

  • migrationLinks (array)
  • resetOtherInWarehouse (boolean)

migrationLink properties:

  • markForDelete (boolean)
  • migratedLevelId (string)
  • storagePlaceId (string

New endpoint /migrationStoragePlace

Available for: GET

Properties:

  • id (string),
  • version (string),
  • active (boolean),
  • createdDate (integer),
  • lastModifiedDate (integer),
  • migratedLevelId (string),
  • name (string),
  • numberOfField (integer),
  • numberOfLevel (integer),
  • shelfId (string),
  • storageLocationId (string),
  • storagePlaceType (string)
  • warehouseId (string)

where storagePlaceType is an enum type with the following possible values: ‘ASSEMBLY’, ‘BLOCKED’, ‘BUFFER’, ‘CONSOLIDATION’, ‘INBOUND’, ‘PICKING’, ‘STOCK’, ‘UNIVERSAL’, ‘UNIVERSAL_WITHOUT_PICKING’

New endpoint /shelf

Available for: GET

Properties:

  • id (string),
  • version (string),
  • active (boolean),
  • createdDate (integer),
  • lastModifiedDate (integer),
  • shortIdentifier (string),
  • storageLocationId (string),
  • storagePlaces (array)

where storagePlaces is an array of migrationStoragePlace

New endpoint /storageLocation

Available for: GET

Properties:

  • id (string),
  • version (string),
  • active (boolean),
  • blockStoragePlaces (array),
  • createdDate (integer),
  • defaultBufferStoragePlaceId (string),
  • lastModifiedDate (integer),
  • name (string),
  • shelves (array),
  • shortIdentifier (string),
  • storeId (string)

where blockStoragePlaces is an array of migrationStoragePlace and shelves is an array of id properties

    Version 23.15.1 - July 27th, 2023

    Additional properties

    In addition to the common properties, there are additional properties that can be optionally queried. These are calculated or complexly determined and must therefore be explicitly queried.
    To use this function, only the parameter ‘additionalProperties’ and the names of the additional properties must be specified as a comma-separated list. The response then contains the additional object ‘additionalProperties’ with the property and an array of values. The index of the value object in this list also represents the reference to the respective entity.

    See the official API documentation for more information and examples.

    Changes in /article

    Added additional properties:

    • currentSalesPrice
    • pickableStockQuantity
    • reservedStockQuantity
    • totalStockQuantity

    Changes in /ticket

    Added additional properties:

      • processTime
      • assignmentTime
      • resolutionTime
      • responseTime

    Changes in /purchaseOrderRequest

    Trying to accept the same request item in more than one request offer now yields a dedicated error message instead of an “unexpected exception”.

    Changes in /purchaseInvoice

    • purchaseInvoiceItemRelationship in purchaseInvoiceItem is now editable
    • new properties in purchaseInvoiceItemRelationship:
      • id (string, readonly)
      • version (string, readonly)
      • createDate (integer, readonly)
      • lastModifiedDate (integer, readonly)
    • purchaseInvoiceItems are now deletable

    Version 23.14.1 - July 13th, 2023

    Changes in /shippingCarrier

    Remove deprecated internal shipment types

    • Changed properties:
      • inernalShippingCarrier (string)
      • Removed values: DHL Same Day, Deutsche Post Warenpost, Deutsche Post Warenpost Untracked (international), Deutsche Post Warenpost Signature (international), SWISS_POST, SITTNAK, EKOL, MGH, DACHSER, Seven Senders, Liefery Express, ZWECKFORM

    Changes in /purchaseInvoice

    New endpoint:

    • /purchaseInvoice/id/{id}/createCreditNote (POST)
      • optional property itemIds (array)

    Added properties:

    • precedingPurchaseInvoiceId (string, read-only)
    • creditResetsOrderState (boolean)

    When trying to cancel an invoice which is part of a payment run, instead of an internal server error you now get status 400 and an appropriate error message.

    Changes in /purchaseOrder

    Added property:

    • advancePaymentStatus (string, read-only)

    Changes in /purchaseOrder/id/:id/createPurchaseInvoice

    Added properties:

    • invoiceType (string) [Optional, “STANDARD_INVOICE” if not set]
      • Possible values: “STANDARD_INVOICE”, “PART_PAYMENT_INVOICE”, “PREPAYMENT_INVOICE”, “ADVANCE_PAYMENT_INVOICE”, “FINAL_INVOICE”
    • paymentAmount (number) [Optional]
    • isGross (boolean) [Optional, false if not set]
    • invoiceDate (integer) [Optional, now if not set]

    Changes for header “Content-Disposition”

    Instead of “inline” as before, the Content-Disposition header now contains the value “attachment” for all download endpoints.

    Version 23.13.1 - June 29th, 2023

    New endpoint /articleItemGroup

    Available for: GET, POST, PUT, DELETE

    Properties:

    • name (string)
    • items (array)

    articleItemGroupItem properties:

    • items.articleId (string)
    • items.quantity (string)
    • items.positionNumber (integer)

    Changes in /purchaseInvoice

    Initialization of senderCountryCode on POST is corrected: If senderCountryCode is provided, use it (unchanged), else use the recordAddress’ country to determine senderCountryCode (new). If recordAdress is null, use the supplier’s primary address’ country (new).

    Changes in /purchaseOrder

    Added properties:

    • purchaseOrderItem.batchSerialNumbers (array)

    batchSerialNumber properties:

    • batchNumber (string)
    • expirationDate (integer)
    • quantity (string, required)
    • serialNumbers (array)

    Version 23.12.1 - June 15th, 2023

    Changes in /salesOrder

    Add functionality of sales setting ‘Allow changes to items after sales order confirmation’.

    Added properties:

    • orderItems.manualPlannedWorkingTimePerUnit (boolean)

    Changed properties:

    • onlyServices (boolean) is now editable (formerly read-only)

    Changes in /quotation

    Added properties:

    • quotationItems.manualPlannedWorkingTimePerUnit (boolean)

    Changes for purchasing

    Changes in /purchaseOrder

    Added property:

    • purchaseOrderRequestId (string, read-only)

    Changes in /purchaseOrderRequest

    Using non-numeric characters in purchaseOrderRequestOffers.supplierId no longer yields an “unexpected exception” with status code 500, but a dedicated error message with status code 400.

    Changes in /ticket

    New endpoints:

    • /ticket/id/{id}/unlinkSalesOrder (POST)
    • /ticket/id/{id}/linkSalesOrder (POST)

    Added property:

    • salesOrderId (string, read-only)

    Version 23.11.1 - June 1st, 2023

    Changes in /incomingGoods

    Added validations:

    • senderPartyId uses the same restrictions as the UI now

    Changes in /article

    Added properties:

    • customerArticleNumbers (array)

    customerArticleNumbers properties:

    • customerId (string)
    • customerArticleNumber (string)

    Changes in /purchaseOrder

    The property packageTrackingUrl can now be edited in any state of the purchase order, just like in the UI.

    Changes in /purchaseInvoice

    Added properties:

    • purchaseInvoiceItems.servicePeriodFromDate (integer)
    • purchaseInvoiceItems.servicePeriodToDate (integer)

    Changes in /quotation

    Added property:

    • rejectionReason (string)

    Allow user to enter reason only when quotation status changes to rejected.

    Version 23.10.1 - May 17th, 2023

    Changes in /salesOrder/id/:id/createPurchaseOrder

    • Breaking change: Result change from single reference to array reference.
    • Changed properties:
      • supplierId (string) is now optional
    • Added properties:
      • multiplePurchaseOrders (boolean) [Optional]

    Changes in /salesInvoice

    Added property:

    • precedingSalesInvoiceId (string, read-only)

    Validation for inactive articles in records

    It is not possible anymore to set inactive articles in records / record items.

    Affected endpoints:

    • /contract
    • /incomingGoods
    • /purchaseInvoice
    • /purchaseOrder
    • /purchaseOrderRequest
    • /purchaseOrderRequestOffer
    • /quotation
    • /salesInvoice
    • /salesOrder
    • /shipment
    • /performanceRecord
    • /productionOrder

    Field unitCost can now be updpated regardless of status of main entity

    The field unitCost can now be updated for items of the entities SalesInvoicePurchaseInvoiceSalesOrder – regardless of the status (i.e. any status not NEW) of main entity. In this regard the API offers now the same functionality as the UI.

    In case the entity does not allow for other fields to be updates – only the unitCost field may be sent as an update – otherwise the update is still prohibited. This is to prevent undesired updates of other fields that should be prohibited

    Changes in /ticket

    Added properties:

    • billableStatus (boolean)
    • performanceRecordedStatus (String)
    • invoicingStatus (String)

    Extend filter

    In addition to the default behavior of linking filter expressions via “and” you can also link individual filter expressions via “or” by prefixing their parameter name with “or-“. See the official API documentation for more information and examples.

    Remove accountType “GOOGLE_PLUS”

    After the service was stopped some time ago, the type “GOOGLE_PLUS” was removed.

    Affected endpoints:

    • /contact
    • /customer
    • /lead
    • /party
    • /supplier

    Affected property:

    • onlineAccount.accountType

    Version 23.09.1 - May 4th, 2023

    Changes in /paymentRun

    Breaking API Change:

    Removed property:

    • paymentRunItem.purchaseOpenItemId.id (string, read-only)

    Added property:

    • paymentRunItem.purchaseOpenItemId (string, read-only)

    Changes in /paymentRunItem

    Removed property:

    • purchaseOpenItemId.id (string, read-only)

    Added property:

    • purchaseOpenItemId (string, read-only)

    Changes for ticket

    New endpoint /ticketCategory

    Available for: GET

    Properties:

    • active (boolean)
    • name (string)
    • parentTicketCategoryId (string)
    • pseudoCategory (boolean)
    • published (boolean)
    • visibleInCustomerPortal (boolean)

    New endpoint /ticketChannel

    Available for: GET,POST,PUT,DELETE

    Properties:

    • active (boolean)
    • positionNumber (integer)
    • name (string)
    • description (string)

    New endpoint /ticketType

    Available for: GET,POST,PUT,DELETE

    Properties:

    • active (boolean)
    • positionNumber (integer)
    • name (string)
    • description (string)

    New endpoint /ticketStatus

    Available for: GET,POST,PUT,DELETE

    Properties:

    • name (string)
    • color (string)
    • positionNumber (integer)
    • internalTicketStatus (string)
    • defaultForInternal (boolean)
    • targetStatusId (string)
    • autoChangeDays (integer)
    • autoChangeTicketStatusId (string)

    New endpoint /ticketServiceLevelAgreement

    Available for: GET,POST,PUT,DELETE

    Properties:

    • active (boolean)
    • degreeOfPerformance (integer)
    • customers (array)
    • types (array)
    • categories (array)
    • ratingId (string)
    • name (string)
    • active (boolean)
    • visible (boolean)
    • includeNoTicketType (boolean)
    • targets (array)

    New endpoint /ticketFaq

    Available for: GET,POST,PUT,DELETE

    Properties:

    • question (string)
    • answer (string)
    • positionNumber (integer)
    • active (boolean)
    • visibility (string)
    • ticketCategories (array)
    • createdById (string)
    • customers (array)

    New endpoint /propertyTranslation

    Methods:
    get /readPropertyTranslations
    post /updatePropertyTranslations

    Properties:

    • propertyName (string)
    • values (array)
    • values.locale (string)
    • values.text (string)

    New endpoint /translation

    Supported methods: GET, POST, PUT, DELETE

    Properties:

    • key (string)
    • values (array)
    • values.locale (string)
    • values.text (string)

    Changes for document

    New endpoint /document/copy

    Available for: POST

    Properties:

    • sourceDocumentId (String)
    • entityName (String)
    • entityId (String)

    New endpoint /document/id/{id}/copy

    Available for: POST

    Properties:

    • sourceDocumentId (String)
    • comment (String)

    Changes in /customAttributeDefinition

    Added property:

    • label (string)

    Changes in /salesOrder

    The description property can now be edited even if the SalesOrder is already completed.

    Changes in /salesInvoice

    Affected property: salesInvoiceType
    Added value: “RETAIL_INVOICE”

    Important: To use the below new properties, the new dropshipping logic must be enabled (request via ideas@weclapp.com).

    Changes in /party

    Added property:

    • enableDropshippingInNewSupplySources (boolean)

    Changes in /articleSupplySource

    Added property:

    • dropshippingPossible (boolean)

    Changes in /purchaseOrderRequest/id/{id}/createPurchaseOrder

    Added property:

    • offerItemToUpdateSupplierInformation.updatePurchasePrice (boolean), false only possible for dropshipping requests

    Version 23.08.1 - April 20th, 2023

    Changes in /purchaseOrderRequest

    Added property:

    • purchaseOrderRequestItems.freeTextItem (boolean)

    Changes in /salesOrder/id{id}/createDropshipping

    If the ERP setting “Allow selection of articles without supply sources” is inactive, the sales order only contains article items and none of them has a supply source at supplier S, an error message is issued when trying to create a dropshipping purchase order at S, just like in the UI.

    Changes in /purchaseOrder/id/{id}/createPurchaseInvoice

    Added optional parameter invoiceDate (integer)

    Changes in /party

    Added properties:

    • supplierInternalNote (string)
    • customerInternalNote (string)

    Changes in /tax

    Added property:

    • depositAccountId (string)

    Changes in /shipment

    Property shippingLabelsCount can be updated regardless of shipment status.

    Version 23.07.1 - April 6th, 2023

    Changes in /ticket

    Contacts can be changed via API consistent to UI.

    Changes in /costCenter

    The endpoint also supports PUT, POST and DELETE now.

    Changes in /warehouseStockMovement

    Added property:

    • costCenterId (string)

    Changes in /purchaseOrder

    Added property:

    • confirmationNumber (string)

    If any item in the purchase order is linked to a blanket purchase order, trying to change the supplier will produce the error message “blanket purchase order has a different supplier”.

    Changes in /salesOrder

    Order item property plannedWorkingTimePerUnit is now validated to be equal to the order item unit’s amount of hours in default unit for hour if invoicing type is “EFFORT” (also: unit has to be a time unit).

    Changes in /salesOrder/id/{id}/createDropshipping

    The endpoint behavior is now aligned with the UI:

    • The description is inherited from the sales order.
    • If sales order and purchase order have common additional fields, the values are inherited from the sales order.
    • The shipment type is set according to the purchase setting “Shipment type for sales order commissions / dropshipping purchase orders”
    • It is not possible to create a dropshipping purchase order if the sales order
      • is a retail sale or a consignment order,
      • has been manually closed or cancelled,
      • is without weclapp shipment,
      • only contains free-text items or
      • only contains items which are already included in shipments with full order quantity.
    • It is not possible to create a dropshipping purchase order if the sales order workflow action “Start dropshipping” is inactive.

    Changes in /salesOrder/id/{id}/createPurchaseOrder

    The endpoint behavior is now aligned with the UI:

    • The description is inherited from the sales order.
    • The warehouse is inherited from the sales order if no warehouseId is provided as a parameter.
    • If sales order and purchase order have common additional fields, the values are inherited from the sales order.
    • The shipment type is set according to the purchase setting “Shipment type for sales order commissions / dropshipping purchase orders”
    • It is not possible to create a purchase order if the sales order
      • is a retail sale or a consignment order,
      • has been manually closed or cancelled,
      • has a fulfillment provider != “weclapp shipment” set
      • only contains free-text items or
      • only contains items which are already included in shipments with full order quantity.
    • It is not possible to create a purchase order if the sales order workflow action “Create sales order commission” is inactive.

    Changes in /unit

    Added property:

    • defaultUnitHourAmount (string)

    Version 23.06.1 - March 23rd, 2023

    Changes in /termOfPayment

    Added property:

    • datevTermOfPaymentNumber (integer)

    Changes in /contract

    The differing shipping address and the differing inovice address can be changed via API consistent to UI.

    Changes for /purchaseOrderRequest

    Added property:

    • purchaseOrderRequestOffers.purchaseOrderRequestOfferItems.useSupplierArticleNumber (boolean)

    Changes in /purchaseOrderRequest/id/{id}/createPurchaseOrder

    Added property:

    • offerItemToUpdateSupplierInformation.createOrUpdateArticleSupplySource (boolean)

    Like in the UI, it is now possible to create multiple purchase orders from one supplier request offer, provided that, at the time of creation, there are still accepted offer items not yet included in purchase orders or blanket purchase orders.

    Changes in /salesOrder/id/{id}/createDropshipping

    To ensure a fluent dropshipping workflow, tax rules of a foreign country are initialized automatically before dropshipping purchase order creation, just like in the UI.

    Changes in /blanketPurchaseOrder

    Omitting the required property discountPercentage on PUT now triggers the error message “discountPercentage is required” (with status code 400) instead of the generic “persistence error” (with status code 409).

    Version 23.05.1 - March 9th, 2023

    Changes in /purchaseOrder/id/{id}/createIncomingGoods

    It is not possible anymore to create an incoming goods for a purchase order which only contains service items.

    Changes in /contracts

    Added property contractCostItems (array) with following sub-properties:

    • articleId (string)
    • title (string)
    • description (string)
    • descriptionFixed (string)
    • quantity (string)
    • unitPrice (string)
    • unitPriceInCompanyCurrency (string)
    • manualUnitPrice (boolean)
    • note (string)
    • discountPercentage (string)
    • netAmount (string)
    • netAmountInCompanyCurrency (string)
    • interval (string)
    • intervalType (string)
    • unitId (string)
    • servicePeriodFrom (integer)
    • servicePeriodTo (integer)

    Changes in /article

    Added property defineIndividualTaskTemplates (boolean).

    Version 23.04.1 - February 23rd, 2023

    Changes in /ticket

    Added properties:

    • language (string)
    • room (string)

    Changes in /blanketPurchaseOrder

    • It is not possible anymore to create a blanket purchase order for a supplier with order stop, just like in the UI.
    • Omitting articleId or supplierId on PUT/POST now triggers a dedicated error message.

    Changes in /purchaseOrderRequest/id/:id/createPurchaseOrder

    • Purchase order creation now works for types SALES_ORDER_COMMISSION_REQUEST and DROP_SHIPPING_REQUEST.
    • Before the purchase order creation, the supplier request offer is validated like in the UI:
      • one order item cannot be linked to multiple offer items,
      • all offer items must be linked to a sales order item (if purchaseOrderRequestType = DROP_SHIPPING_REQUEST),
      • at least one sales order item must be selected for each purchase order (if purchaseOrderRequestType = SALES_ORDER_COMMISSION_REQUEST).

    Changes in /quotation

    In systems that didn’t work with projects in the last half year it is no longer possible to create quotations with the type ‘PROJECT’ or change current quotations to the type ‘PROJECT’. Working with or accepting already present quotations of that type is still possible.

    New endpoint /quotation/id/{id}/inquire (POST)

    Body parameter:

    • taskId (string, optional)

    New endpoint /quotation/id/{id}/accept (POST)

    Body parameters (optional):

    • quotationItems.quotationItemId (string)
    • quotationItems.quantity (string)

    Version 23.03.1 - February 9th, 2023

    Provide support for open items

    Changes to /paymentRun

    Breaking API Change:

    Removed property:

    • paymentRunItem.openItem (object)

    Added property:

    • paymentRunItem.purchaseOpenItemId (string)

    New endpoint /purchaseOpenItem

    Available for: GET.

    Properties:

    • amount (string)
    • amountDiscount (string)
    • amountOpen (string)
    • amountPaid (string)
    • cleared (boolean)
    • clearanceDate (integer)
    • openItemNumber (string)
    • openItemType (string)
    • paymentApplications (array, object)
    • purchaseInvoiceId (string)

    Additional endpoint: /purchaseOpenItem/id/{id}/createPaymentApplication

    Available for: POST.

    New endpoint /salesOpenItem

    Available for: GET.

    Properties:

    • amount (string)
    • amountDiscount (string)
    • amountOpen (string)
    • amountPaid (string)
    • cleared (boolean)
    • clearanceDate (integer)
    • openItemNumber (string)
    • openItemType (string)
    • paymentApplications (array object)
    • salesInvoiceId (string)

    Additional endpoint: /salesOpenItem/id/{id}/createPaymentApplication

    Available for: POST.

    Changes for article

    Changes in /article

    It is not possible anymore to add an article of type “SHIPPING_COST” to productionBillOfMaterialItems.

    Added property:

    •  defaultPriceCalculationType (string)

    Possible values: [“MARGIN_CALCULATION”, “PURCHASE”, “RECOMMENDED_RETAIL_PRICE”, “SALES”]

    Changes in /article/id/{id}/createLabelPdf

    Creation of labels for shipping cost articles is not possible, just like in the UI.

    Provide support for ticketing

    New endpoint /ticket

    Available for: GET, POST, PUT, DELETE.

    Properties:

    • assignedUserId (string)
    • billable (boolean)
    • ccEmailAddresses (string)
    • contactId (string)
    • contractId (string)
    • description (string)
    • disableEmailTemplates (boolean)
    • email (string)
    • entityReferences (array)
    • finishedDate (integer, readonly)
    • firstName (string)
    • lastName (string)
    • legacyArticleId (string)
    • legacyTimeAndMaterialTicket (boolean)
    • mail2TicketId (string, readonly)
    • mobilePhoneNumber (string)
    • note (string)
    • partyId (string)
    • phoneNumber (string)
    • publicPageExpirationDate (integer, readonly)
    • publicPageUuid (string, readonly)
    • resolvedYourIssue (boolean, readonly)
    • responsibleUserId (string)
    • solutionDueDate (integer)
    • subject (string, mandatory)
    • tags (array)
    • ticketCategoryId (string)
    • ticketChannelId (string)
    • ticketNumber (string)
    • ticketPriorityId (string, mandatory)
    • ticketRating (string) – possible values: [“STARS_1”, … “STARS_5”]
    • ticketRatingComment (string, readonly)
    • ticketRatingDate (integer, readonly)
    • ticketServiceLevelAgreementId (string)
    • ticketStatusId (string)
    • ticketTypeId (string)

    The following property cannot be changed or set to “true” if legacy time and material tickets are generally not possible in the system:

    • legacyTimeAndMaterialTicket

    New endpoint /ticket/id/{id}/createPublicPage

    Available for: POST.

    New endpoint /ticket/id/{id}/disablePublicPage

    Available for: POST.

    Improvements for custom attributes

    Provide the support for custom attributes of type REFERENCE to be able to filter by the id of the referenced entity.

    Example query parameter: ?customAttribute<id1>.entityReferences.entityId-eq=<id2>

    Changes in /purchaseOrderRequest

    Trying to add more than ten offers to the purchase order request now triggers a dedicated error message intead of the generic “unexpected exception”.

    Trying to add offers with the same supplier used more than once now triggers a dedicated error message intead of the generic “unexpected exception”.

    Create/download contract document

    New endpoint /contract/id/{id}/createContractDocument

    Available for: POST.

    New endpoint /contract/id/{id}/downloadLatestContractDocumentPdf

    Available for: GET.

    Changes in /salesOrder

    The following properties are now validated to be null if fulfillmentProviderId is null:

    • defaultShippingCarrierId
    • shipmentMethodId

    Changes for Supplier Request

    Changes in /purchaseOrderRequest

    It is not possible anymore to create a supplier request offer for a supplier with order stop, just like in the UI.

    Changes in /purchaseOrderRequest/id/{id}/createPurchaseOrder

    It is not possible anymore to create a purchase order from a supplier request offer whose supplier is order-stopped, just like in the UI.

    Changes in /purchaseOrderRequest/id/{id}/createBlanketPurchaseOrder

    It is not possible anymore to create a blanket purchase order from a supplier request offer whose supplier is order-stopped, just like in the UI.

    Version 23.02.1 - January 26th, 2023

    Changes in /shipment

    Added property:

    • responsibleUserId (string)

    Changes in /incomingGoods

    Added property:

    • responsibleUserId (string)

    Download purchase order documents and create/download dropshipping delivery note

    Provides support to download purchase order documents and to create/download dropshipping delivery note.

    New endpoints:

    • /purchaseOrder/id/{id}/createDropshippingDeliveryNotePdf (POST)
    • /purchaseOrder/id/{id}/downloadLatestPurchaseOrderPdf (GET)
    • /purchaseOrder/id/{id}/downloadLatestDropshippingDeliveryNotePdf (GET)

    Changes in /salesOrder

    Affected property:

    • /salesOrder/id/{id}/createDropshipping/salesOrder/id/{id}/createPurchaseOrder

    It is not possible anymore to create (dropshipping) purchase orders for a supplier with order stop.

    Changes in /salesInvoice

    Added property:

    • salesInvoiceItems.serialNumbers (string, read-only)

    Changes in /article

    Added properties:

    • contractBillingMode (string)
    • contractBillingCycle (string)

    Changed property:

    • articlePrices.reductionAdditions.type

    Possible values: [“ADDITIONAL_ABS”, “REDUCTION_ABS”, “ADDITION_PERCENT”, “REDUCTION_ABSOLUTE”]
    Removed values: [“REBATE_PERCENT”]

    Changes in

    • /quotation
    • /salesOrder
    • /salesInvoice
    • /purchaseOrder
    • /purchaseInvoice
    • /contract
    • /purchaseOrderRequest

    Affected property:

    • {their respective items list}.reductionAdditionItems.type

    Possible values: [“ADDITION_ABSOLUTE”, “REDUCTION_ABSOLUTE”, “ADDITION_PERCENT”, “REDUCTION_ABSOLUTE”]
    Removed values: [“REBATE_PERCENT”]

    Changes in /accountingTransaction

    Affected property: type

    Added value: “CARRY_FORWARD”

    Version 23.01.1 - January 12th, 2023

    Changes in /articleSupplySource

    Absence/nullness of the property articleNumber now produces a dedicated error message instead of the generic “persistence error”.

    Changes in /article/articleSupplySource

    Added property:

    • internalNote (string)

    Changes in /priceCalculationParameter

    Added properties:

    • margin (string)
    • profit (string)

    Changes in /salesOrder

    Added properties:

    • projectGoals (string)
    • plannedProjectStartDate (integer)
    • plannedProjectEndDate (integer)
    • servicesFinished (boolean, readOnly)
    • onlyServices (boolean, readOnly)

    Changes in /tax

    Added property:

    • taxKey (string)

    New endpoint /taxDeterminationRule

    Available for: GET, POST, PUT, DELETE.

    Added properties:

    • accountingCodeId (string)
    • customerDebtorAccountingCodeId (string)
    • dispatchCountryCode (string)
    • endDate (integer)
    • partyType (string)
    • recipientCountryCode (string)
    • sales (boolean)
    • startDate (integer)
    • taxId (string)
    • taxRateType (string)
    • validVatId (boolean)

    New endpoint /tax/configurePurchaseTaxes

    Available for: POST.

    Parameter:

    • countryCode (string)

    New endpoint /tax/configureSalesTaxes

    Available for: POST.

    Parameters:

    • countryCode (string)
    • personsThirdCountryFreeTax (boolean)
    • taxEuPersonsRecipientCountry (boolean)

    New endpoint /tax/resetSystemTaxes

    Available for: POST.

    Parameters:

    • countryCode (string)
    • personsThirdCountryFreeTax (boolean)
    • initAllStores (boolean)
    • taxRecipientCountry (boolean)

    New endpoint /tax/findPurchaseTax

    Available for: GET.

    Returns a tax object with all its properties.

    Changes in /comment

    Added filter support for property: recipientUsers.

    New endpoint /userRole

    Supported methods: GET, POST, PUT, DELETE.

    Properties:

    • name (string)
    • permissions (array, string)
    • includedUserRoles (array, object)

    Changes in /user

    Added property:

    • userRoles (array, object)

    Changes in /party

    Added property:

    • supplierMinimumPurchaseOrderAmount (string)

    Version 22.23.2 - December 15th, 2022

    Changes in /article

    The following properties are now validated to be >= 0, just like in the UI:

    • articleGrossWeight
    • articleNetWeight
    • articleHeight
    • articleLength
    • articleWidth
    • fixedPurchaseQuantity
    • minimumPurchaseQuantity
    • minimumStockQuantity
    • targetStockQuantity

    Changes in /articleSupplySource:

    The following properties are now validated to be >= 0, just like in the UI:

    • fixedPurchaseQuantity
    • minimumPurchaseQuantity

    Changes in /party

    Added property:

    • customerFormerSalesPartner (boolean)

    Changes in /quotation

    Added properties:

    • commissionSalesPartners (array)
    • quotationItems.commissionSalesPartners (array)

    Changes in /contract

    Added properties:

    • commissionSalesPartners (array)
    • contractItems.commissionSalesPartners (array)

    Changes in /salesOrder

    Added property:

    • orderItems.commissionSalesPartners (array)

    Changes in /salesInvoice

    Added property:

    • salesInvoiceItems.commissionSalesPartners (array)

    Version 22.23.1 - December 1st, 2022

    Changes in /contract

    Breaking API Changes:

    Renamed properties in contract.contractItems:

    • validFrom -> servicePeriodFromDate
    • validTo -> servicePeriodToDate

    Changes in /quotation

    • Duplicate quotation number now returns HTTP status code 409 instead of 400, as it is the case for other entities.
    • quotationVersion now is read-only instead of being able to be specified on POST.

    New endpoint /tag

    Available for: GET, POST, PUT, DELETE.

    Added property:

    • name (string)

    Changes in /warehouseLevel

    Added properties:

    • deleteInLogisticsMigration (boolean, readonly)

    Changes in /party

    Added properties:

    • customerDefaultShippingCarrierId (string)
    • supplierDefaultShippingCarrierId (string)

    Provision of CRM-Events

    New endpoint /crmEvent:

    Supports: GET, POST, PUT, DELETE.

    Provided properties:

    • callCategoryId (string)
    • contactId (string)
    • creatorUserId (string, read-only)
    • startDate (integer)
    • endDate (integer)
    • description (string)
    • eventCategoryId (string)
    • location (string)
    • opportunityId (string)
    • partyId (string)
    • subject (string)
    • type (string)

    New endpoint /crmEventCategory:

    Supports: GET, POST, PUT, DELETE.

    Provided properties:

    • active (boolean)
    • description (string)
    • name (string)
    • positionNumber (integer)

    New endpoint /crmCallCategory:

    Supports: GET, POST, PUT, DELETE.

    Provided properties:

    • active (boolean)
    • description (string)
    • name (string)
    • positionNumber (integer)

    Changes in /salesInvoice

    Affected properties:

    • status
    • statusHistory.status

    Possible values: [“NEW”, “ENTRY_COMPLETED”, “DOCUMENT_CREATED”, “VOID”, “OPEN_ITEM_CREATED”]
    Removed values: [“INVOICE_CHECKED”, “INVOICE_VERIFICATION”]

    Changes in /purchaseInvoice

    Affected properties:

    • status
    • statusHistory.status

    Possible values: [“NEW”, “INVOICE_VERIFICATION”, “INVOICE_CHECKED”, “ENTRY_COMPLETED”, “VOID”, “OPEN_ITEM_CREATED”]
    Removed values: [“DOCUMENT_CREATED”]

    Changes in /tax

    • taxType can no longer be subsequently changed for existing taxes (UPDATE). It can only be set during creation of new taxes.
    • taxType “TAX_FREE” no longer exists.

    New parameter for creating demoTestSystems

    New mandatory parameter for creating demoTestSystems via /system/createDemoTestSystem:

    • allUsers (boolean)

    Version 22.22.1 - November 17th, 2022

    Changes in /purchaseOrderRequest

    Breaking API Changes:

    • Removed property purchaseOrderRequestItems.customAttributes.
    • Removed property purchaseOrderRequestOffers.purchaseOrderRequestOfferItems.customAttributes.

    New endpoint /ticketAssignmentRule

    Available for: GET, POST, PUT, DELETE.

    Properties:

    • partyId (string)
    • distributionChannel (string)
    • ticketPriorityId (string)
    • ticketChannelId (string)
    • commercialLanguage (string)
    • responsibleUserId (string)
    • ticketTypeId (string)
    • targetStatus (string, mandatory)
    • ticketAssigneeType (string, mandatory, possible values: “TICKET_AGENT”, “CUSTOMER_RESPONSIBLE_PERSON”)
    • assigneeUserId (string)

    Changes in /quotation, /salesOrder, /salesInvoice, /purchaseInvoice, /purchaseOrder

    In line with the UI, it is not possible anymore to create/update/delete shipping cost items when the record is in a completed state.

    Provide support to create article labels and datasheets

    New endpoints:

    • POST /article/id/{id}/createDatasheetPdf
      • Properties:
        • commercialLanguageId (string, required)
        • salesChannel (string, required)
    • POST /article/id/{id}/createLabelPdf
      • Properties:
        • printCount (integer, required)
        • startPosition (integer, required)

    Changes in /purchaseOrder

    Added property:

    • commission (string)

    Changes in /quotation

    • The property invoiceRecipientId now also supports leads, just like the UI.

    Version 22.21.1 - November 3rd, 2022

    Changes in /attendance

    New endpoint /currentAttendance is available for: GET.

    Permissions

    The following properties will only be usable for users with either ERP administrator role or Accounting administrator role:

    • /salesInvoice
      • salesInvoiceItems.manualUnitCost
      • salesInvoiceItems.unitCost
      • salesInvoiceItems.unitCostInCompanyCurrency
    • /quotation
      • quotationItems.manualUnitCost
      • quotationItems.unitCost
      • quotationItems.unitCostInCompanyCurrency
    • /salesOrder
      • orderItems.manualUnitCost
      • orderItems.unitCost
      • orderItems.unitCostInCompanyCurrency

    Provide support for Demo-Test-Systems

    New API-Endpoints:

      • GET /system/demoTestSystemInfo
        • Properties:
          • mainInstanceUrl (string)
          • demoInstanceUrl (string)
          • createPossible (boolean)
          • creationInProgress (boolean)
          • templateSystems (array, string)
      • POST /system/createDemoTestSystem
        • Admin permissions required
        • Properties for request:
          • label (string)
          • preset (string)
          • template (object, optional)

    Changes in /salesInvoice

    Added property:

    • salesInvoiceItems.salesInvoiceItemRelationship.performanceRecordItemId (string, readOnly)

    Changes in /notification

    Added properties:

    • entityId (string)
    • entityName (string)

    Changes in /purchaseInvoice

    Added property:

    • bookingText (string)

    Changes in /quotation

    Added property:

    • publicLink (string, readonly)

    Version 22.20.1 - October 20th, 2022

    Improvements for roles

    Breaking API Changes:

    • Removed property personRole.
    • Added property personRoleId.

    affected endpoints:

    • /party
    • /supplier
    • /customer
    • /lead
    • /contact

    New endpoint /personRole

    Supported methods: GET, POST, PUT, DELETE.

    Properties:

    • active (boolean)
    • name (string)
    • positionNumber (integer)

    Changes in /cashAccount

    Added properties:

    • active (boolean)
    • accountId (string)
    • treasurerId (string, required)

    Added operations: PUT, POST.

    Changes in /salesOrder

    Added properties:

    • availability (string, readonly)
    • availabilityForAllWarehouses (string, readonly)
    • orderItems.availability (string, readonly)
    • orderItems.availabilityForAllWarehouses (string, readonly)

    Changes in /shipment

    Added properties:

    • availability (string, readonly)
    • availabilityForAllWarehouses (string, readonly)
    • shipmentItems.availability (string, readonly)
    • shipmentItems.availabilityForAllWarehouses (string, readonly)

    Changes in /productionOrder

    Added properties:

    • availability (string, readonly)
    • availabilityForAllWarehouses (string, readonly)
    • productionOrderItems.availability (string, readonly)
    • productionOrderItems.availabilityForAllWarehouses (string, readonly)

    Version 22.19.1 - Oktober 6th, 2022

    Improvements for departments

    Changes in party endpoints

    Breaking API Changes:

    • Removed property personDepartment.
    • Added property personDepartmentId.

    affected endpoints:

    • /party
    • /supplier
    • /customer
    • /lead
    • /contact

    New endpoint /personDepartment

    Supported methods: GET, POST, PUT, DELETE.

    Properties:

    • active (boolean)
    • name (string)
    • positionNumber (integer)

    Changes in /article

    • Only ERP seller and accounting administrator may add and modify elements of articlePrices.
    • Only ERP administrator and accounting administrator may remove elements from articlePrices.

    Changes in /articleSupplySource

    Only ERP administrator and accounting administrator may add and modify elements of and remove elements from articlePrices.

    Improved error responses

    Error responses for operations that are not allowed in the given context / for the given data (typically entity deletion) are now reported as error type "/webapp/view/api/errors.html#!/errors/context" (status code 490 / Conflict).

    Changes in /quotation

    Added property:

    • template (boolean)

    Changes in /purchaseOrder

    Added property:

    • purchaseOrderItems.salesOrderItemId (string, readonly)

    Changes in /salesOrder

    Additional Method:

    • /toggleProjectTeam: Toggles (activates or deactivates) the team feature for the specified salesOrder.

    Added properties:

    • projectModeActive (boolean)
    • projectMembers (array)

    Added entity ProjectOrderTeamUser

    Can be accessed via projectMembers property in /salesOrder.

    Properties:

    • userId (string)
    • hourlyCost (integer)
    • teamRole (string)

    Changes in prime address

    Previous behaviour: When property primeAddress of an address in endpoint /party is set to false the property primaryAddress still remains true and no error message is displayed.

    New behaviour: When property primeAddress of an address in endpoint /party is set to false an error message “Company/contact not saved. Please add primary address.” is displayed.

    Version 22.18.1 - September 22nd, 2022

    Changes in /ticketFaq

    • Updating ticketCategories is also possible with sub categories.

    Changes in /article

    • Changes in /article/id/:id/uploadArticleImage: Added optional parameter articleImageId (string) to allow overwriting an existing article image.
    • Changes in PUT /article: PUT /article only changes articlePrices.lastModifiedByUserId, if element of articlePrices is actually changed.

    Changes in /financialYear

    • Validation prohibits creating a financial year that covers the validity period of another financial year.

    Changes in /incomingGoods

    Changed properties:

    • purchaseOrderId set read only.
    • purchaseOrderNumber set read only.
    • purchaseOrders set read only.
    • incomingGoodsItems.purchaseOrderItemId setable, if not already set.

    Version 22.17.1 - September 8th, 2022

    Changes in /contract

    Added properties:

    • ticketServiceLevelAgreementId (string)
    • sentToRecipient (boolean)
    • disableEmailTemplate (boolean)

    Version 22.16.1 - August 25th, 2022

    Changes for Taxes

    Breaking API Change: As already announced in the last product changelog, the tax types will be changed step by step. In the API, this may result in the ID of a tax changing. Existing data records may therefore change as a result of the migration and this must be taken into account. Moreover the tax type “STEUERFREI” will no longer exist.

    Changes in /article and /articleSupplySource

    • Added property: lastModifiedByUserId (string, readonly) in articlePrices

    Changes in /articlePrice

    • Added property: lastModifiedByUserId (string, readonly)

    Changes in /salesOrder

    • Added property: tasks (array, readonly) in salesOrderItem

    New endpoint: /financialYear

    Available for: GET, POST, PUT, DELETE

    Properties:

    • status (string)
    • name (string)
    • validFrom(integer)
    • validTo (integer)
    • periods (array)

    Periods properties:

    • financialYearId (string)
    • name (string)
    • open (boolean)
    • periodNumber (integer)
    • validFrom (integer)
    • validTo (integer)

    REST-Method /generatePeriods

    POST /financialYear/id/:id/generatePeriods: Automatic creation of all available posting periods

    Version 22.15.1 - August 11th, 2022

    Changes in /article

    New endpoint /articleStatus is available for: GET, POST, PUT, DELETE.

    Added properties:

    • statusId (string)

    New endpoint /attendance

    New endpoint /attendance is available for: GET, POST, PUT, DELETE.

    Properties:

    • userId (string, readOnly)
    • duration (integer, readOnly)
    • endTime (integer)
    • startTime (integer)
    • dateCreated (integer, readOnly)
    • lastModified (integer, readOnly)

    Additional Methods:

    • /logOn
      Starts an active attendance.
    • /logOff
      Ends active attendance.

    Provide support for collective sales invoices

    Changes in /salesOrder

    Extend endpoint /salesOrder/id/{id}/createSalesInvoice for creating a collective invoice.

    added optional property:

    • additionalSalesOrderIds (array)

    Changes in /salesInvoice

    Added properties:

    • salesInvoiceItems.salesInvoiceItemRelationship (array)
    • collectiveInvoicePositionPrintType (string)

    Provide new endpoint /salesInvoice/id/{id}/addSalesOrders

    Properties:

    • collectiveInvoicePositionPrintType (string)
    • salesOrderIds (array)

    Version 22.14.1 - July 28th, 2022

    Changes in /salesInvoice and /purchaseInvoice

    Breaking API Change: The final invoice state has been renamed from “BOOKED” to “OPEN_ITEM_CREATED”.

    Extended production: Added support for  work schedules

    Added new endpoint: /productionWorkSchedule

    Supported methods: GET, POST, PUT, DELETE

    Properties:

    • workScheduleNumber (string)
    • customAttributes (array)
    • description (string)
    • documents (array)
    • workScheduleItems (array)
    • status (string)

    productionWorkScheduleItem:

    • costCenterId (string)
    • customAttributes (array)
    • multipleHumanOperation (integer)
    • multipleMachineOperation (integer)
    • positionNumber (integer)
    • quantityBase (integer)
    • setupTime (integer)
    • shortDescription (string)
    • description (string)
    • timeType (string)
    • timeUnit (string)
    • unitTime (integer)
    • validFrom (integer)
    • validTo (integer)
    • productionWorkScheduleId (string, readOnly)

    Added new endpoint: /productionWorkScheduleAssignment

    Supported methods: GET, POST, PUT, DELETE

    Properties:

    • productionWorkScheduleId (string)
    • articleId (string)
    • alternative (boolean)
    • customAttributes (array)
    • validFrom (integer)
    • validTo (integer)

    Changes in /article

    • Added property: positionNumber (integer) in supplySources.
    • The property marginCalculationPriceType is now correctly set/updated on POST/PUT.

    Changes in /productionOrder

    Added property:

    • workItems (array, readOnly)

    productionOrderWorkItem:

    • book (boolean)
    • customAttributes (array)
    • manualItem (boolean)
    • positionNumber (integer)
    • shortDescription (string)
    • status (string)
    • targetEndDate (integer)
    • targetOrderTime (integer)
    • targetStartDate (integer)
    • timeType (string)
    • unitTime (integer)
    • description (string)

    Changes in /warehouseStockMovement

    /bookIncomingMovement, /bookOutgoingMovement and /bookTransferMovement all support custom attributes now.

    Added property:

    • customAttributes (array)

    Version 22.13.1 - July 14th, 2022

    Changes in /ledgerAccount

    Breaking API Change: The properties taxId and taxName were removed.

    Changes in /article

    Users with only the role “Project management user” will no longer see the following properties:

    • accountNumber
    • expenseAccountNumber

    Changes in /variantArticle

    Added property variantArticleName (string).

    Changes in /contract

    Added property tags (array).

    New endpoint /paymentRun

    With this endpoint payment runs can be read and deleted.
    There is also a PUT which provides update to existing paymentRunItems and delete of them.

    Added properties:

    • paymentRunDate (integer, readonly)
    • paymentRunItems (object-array, readonly)
    • paymentRunNumber (string, readonly)
    • runByUserId (string, readonly)
    • totalAmount (string, readonly)

    New endpoint /paymentRunItem

    With this endpoint payment runItems can be read.

    Added properties:

    • amountDiscount (integer, readonly)
    • amountPayment (integer, readonly)
    • cleared (boolean, readonly)
    • conversionRate (string, readonly)
    • conversionRateDate (integer, readonly)
    • document (object, readonly)
    • moneyTransaction (object, readonly)
    • openItem (object, readonly)
    • paymentAdvice (object, readonly)
    • paymentRunId (string, readonly)
    • paymentRunPaymentType (string, readonly)
    • recordCurrency (object, readonly)
    • bankAccountId (string)
    • partyBankAccountId (string)
    • purpose (string)

    Extended record items

    Added property manualQuantity (boolean) to record items.
    Can only be updated from false to true. Prevents direct update of quantity if false.

    Affected endpoints:

    • /contract
    • /incomingGoods
    • /purchaseInvoice
    • /purchaseOrder
    • /purchaseOrderRequest
    • /purchaseOrderRequestOffer
    • /quotation
    • /salesInvoice
    • /salesOrder
    • /shipment

    Version 22.12.1 - June 30th, 2022

    Changes in /paymentMethod

    • Reading clearingAccountId requires app “Accounting administrator”/”Accounting”.
    • Updating autoClearingAccountTransaction requires app “Accounting administrator”/”Accounting”.

    Changes in /shipment

    • /shipment now supports DELETE.

    Changes in /incomingGoods

    • /incomingGoods now supports DELETE.
    • /incomingGoods property relatedShipmentId is only visible for users with permission “Shipment read”.

    Version 22.11.1 - June 15th, 2022

    Articles

    • Breaking API Change: The field articleCategoryId in /article/priceCalculationParameters has been removed.
    • /articleSupplySource now supports DELETE.

    Improved error handling

    weclapp API error responses are now basically conformant to RFC 7807, with some notable differences:

    • The migration to the RFC 7807 structure is an ongoing process, so some compatibility mechanisms are in place until further notice:
      • The responses come with “Content-Type: application/json” instead of “Content-Type: application/problem+json”
      • The “unstructured” error responses that have been in use until now are still part of the response JSON, so existing code should work without changes.
      • Detail information that should be there according to the new structure may be still missing. This applies especially to validation errors.
    • Two custom fields have been added to the response structure: “location” and “validationErrors”.

    The detailed documentation for the response structure and individual errors is part of the weclapp API documentation.

    Version 22.10.1 - June 2nd, 2022

    Users

    Extension of the endpoint /user. For “My weclapp administrator” the endpoint now supports:

    • POST
    • PUT
    • DELETE

    Articles

    Added properties in /article:

    • launchDate (integer)
    • sellFromDate (integer)
    • sellByDate (integer) – must be after sellFromDate
    • supportUntilDate (integer)

    Quotations

    Added properties to /quotation

    • requestDate (integer)
    • defaultShippingCarrierId (string)
    • defaultShippingCarrierName (string)

    Purchase Invoices

    Added properties to /purchaseInvoice:

    • deliveryAddress (object)
    • invoiceAddress (object)

    The new properties deliveryAddress and invoiceAddress will show “my delivery address” and “my invoice address” now, just how it’s implemented for purchase orders.

    The property recordAddress will now provide the address of the supplier of the record (also same behaviour as for purchase orders).

    Contracts

    Changes to /contract. The fields cancellationPeriodUnit and cancellationPeriodSoftframe can no longer be set to null, if the field cancellationPeriodQuantity isn’t empty.

    Version 22.09.1 - May 19th, 2022

    Changes in /article

    Added properties:

    • plannedWorkingTimePerUnit (string)
    • invoicingType (string) – possible values: [EFFORT; FIXED_PRICE]

    Added value to marginCalculationPriceType: EMPLOYEE_COST

    Changes in /quotation

    Added properties in quotationItem:

    • serviceItem (boolean)
    • plannedWorkingTimePerUnit (string)
    • invoicingType (string) – possible values: [EFFORT; FIXED_PRICE]

    Changes in /salesOrder

    Added properties in salesOrderItem:

    • serviceItem (boolean)
    • plannedWorkingTimePerUnit (string)
    • invoicingType (string) – possible values: [EFFORT; FIXED_PRICE]

    New endpoint /placeOfService

    Added properties:

    • active (boolean)
    • description (string)
    • name (string)
    • positionNumber (integer)

    Changes in /customAttributeDefinition

    Add values to attributeEntityType:

    • blanketPurchaseOrder
    • performanceRecord

    Changes in /sepaDirectDebitMandate

    Property firstDebit (boolean) is required.

    Changes for several record endpoints

    Following endpoints do not longer support service items:

    • /blanketPurchaseOrder
    • /incomingGoods
    • /productionOrder
    • /purchaseOrder (purchaseOrderType: TRIANGULAR, BLANKET_PURCHASE_ORDER)
    • /purchaseOrderRequest
    • /salesOrder (salesOrderPaymentType: COUNTER_SALES, invoicingType: EFFORT)
    • /shipment

    Version 22.08.1 - April 21st, 2022

    Changes in /purchaseInvoice

    /purchaseInvoice now supports DELETE.

    Changes in /purchaseOrder

    /purchaseOrder now supports DELETE.

    Changes in /bankAccount

    Added enum property automaticProcessing.

    Possible values:
    NONE, CLEAR, BOOK, PROCESS.

    Changes in /article

    • /article: the following properties are reset to null if the provided article type is “SERVICE” or “SHIPPING_COST” since they are unused:
      • articleGrossWeight
      • articleNetWeight
      • articleLength
      • articleWidth
      • articleHeight
      • countryOfOriginCode
      • customsDescription
      • customsTariffNumber
      • customsTariffNumberId
      • manufacturerId
      • manufacturerName
      • manufacturerPartNumber
      • producerType
    • /article: the following additional properties are reset if the provided article type is “SHIPPING_COST” since they are unused:
      • articleImages -> [] (existing images for this article will be removed)
      • applyCashDiscount -> false
      • description -> null
      • ean -> null
      • longText -> null
      • quantityConversions -> [] (existing quantity conversions for this article will be removed)
      • recordItemGroupName -> null
      • shortDescription1 -> null
      • shortDescription2 -> null
    • /article property productionBillOfMaterialItems will only be visible for ERP administrators of ERP retail license.
    • /article property productionArticle will only be editable for ERP administrators of ERP retail license.

    Version 22.07.1 - April 7th, 2022

    Changes in /article

    Added some article related properties:

    • barcode (string)
    • producerType (string)
    • quantityConversions (array)
    • priceCalculationParameters (array)

    Added support for collective incoming shipments

    Affected existing endpoint: /purchaseOrder/id/<id>/createIncomingGoods

    Add the optional parameter additionalPurchaseOrderIds (array(string)). It is possible to pass orders to add one or more Order/OrderItems as incoming goods.

    New endpoint: /incomingGoods/id/<id>/addPurchaseOrders

    Adds purchase orders with provided ids (array(string)) to given incomingGoods.

    Changes in /bankAccount

    Fixed bug at DELETE: Restrict deletion of a bank account the same way as the UI would do.

    Add connection failure message – Added property:

    •  connectionFailure (string)

    Further Changes

    Added property in /notification:

    • priority (string)

    Version 22.06.1 - March 24th, 2022

    General improvements

    • Improve handling for PUT requests and ignoreMissingProperties=true. Setting nested objects to “null” or removing their values will be handled correctly from now on.
    • Improve error handling for invalid POST + PUT requests. An improved error message is now displayed.

    Purchase Order

    Added tracking information in /purchaseOrder.

    Added properties:

    • shippingCarrierId (string)
    • packageTrackingNumber (string)
    • packageTrackingUrl (string)

    Production Order

    Changes in /productionOrder:

    The status can be set back to “ENTRY_IN_PROGRESS”.

    Sales Order

    PUT /salesOrder:

    When switching the invoice recipient of a sales order, also switch the invoice recipient of all connected and uncancelled shipments.

    Incoming Goods

    New endpoint /incomingGoods/id/<id>/createSupplierReturn.
    Provide new endpoint to allow creating a supplier return for a customer return.

    Properties:

    • purchaseOrderId (string)
    • supplierId (string)

    External Connections

    /externalConnection:

    Removed connectionType “EPOST”.

    Version 22.05.1 - March 10th, 2022

    Change in /calendarEvent

    Breaking API Change:

    Changed /calendarEvent to return the standard entity reference structure in the “references” property instead of the previous custom one. Now the property is an array of objects, each with “entityName” (name of the referenced endpoint) and “entityId” (ID of the referenced entity) and nothing else.

    Permission change in /article

    Users can only update the properties batchNumberRequired and serialNumberRequired, if they are assigned app “Cloud ERP retail: ERP administrator” or “Enterprise Resource Planning: Administrator”. Users with app “Cloud ERP service: ERP administrator” will no longer be able to update these properties.

    Version 22.04.1 - February 24th, 2022

    Sales Invoice

    PUT /salesInvoice

    Title of sales invoice item is now editable for sales invoices with sales invoice type “FINAL_INVOICE”.

    Improvements for Purchase Invoice

    Extend /purchaseInvoice

    Add read-only property purchaseInvoiceItems.purchaseInvoiceItemRelationship to be able to access the multi-relationship on items layer. This property provides full path filter support.

    Included properties:

    • purchaseInvoiceItemId (string)
    • quantity (string)
    • shipmentItemId (string)
    • supplierOrderItemId (string)

    Improve curreny conversion

    The behavior when changing the currency of a purchase invoice has been improved and now results in a correct currency conversion.

    Forms

    Add factoring property to customer and records.

    New boolean property “factoring” available for /party (customer = true required) and the following record endpoints:

    • /contract (contract party must be a customer)
    • /quotation
    • /salesInvoice
    • /salesOrder 

    Extend /serialNumber

    customAttributes are now updatable via PUT.

    Provide contracts

    New endpoint /contract

    Supported methods: GET, POST, PUT, DELETE

    Supported properties of /contract:

    • additionalAddresses (array)
    • authorizationUnitId (string)
    • automaticExtension (boolean)
    • billUntil (string)
    • billingDay (integer)
    • billingTargetInvoiceStatus (string)
    • billingType (string)
    • cancellationDate (integer)
    • cancellationPeriodQuantity (integer)
    • cancellationPeriodSoftframe (string)
    • cancellationPeriodUnit (string)
    • commercialLanguage (string)
    • commission (string)
    • contractDate (integer)
    • contractItems (array)
    • contractNumber (string)
    • contractNumberAtParty (string)
    • contractStatus (string)
    • correspondenceAddress (object)
    • customAttributes (array)
    • deliveryAddress (object)
    • deliveryEmailAddresses (object)
    • description (string)
    • differingCorrespondenceAddress (boolean)
    • differingDeliveryAddress (boolean)
    • differingInvoiceAddress (boolean)
    • endDate (integer)
    • extensionQuantity (integer)
    • extensionUnit (string)
    • factoring (boolean)
    • invoiceAddress (object)
    • invoiceRecipientId (string)
    • latestCancellationWarningQuantity (integer)
    • latestCancellationWarningUnit (string)
    • latestPossibleTerminationDate (integer)
    • name (string)
    • nextContractBillingDate (integer)
    • nonStandardInputTaxId (string)
    • orderNumberAtCustomer (string)
    • partyId (string)
    • paymentMethodId (string)
    • pricingDate (integer)
    • purchaseEmailAddresses (object)
    • recordComment (string)
    • recordCurrencyId (string)
    • recordEmailAddresses (object)
    • recordFreeText (string)
    • recordOpening (string)
    • reminderDate (integer)
    • reminderSendType (string)
    • reminderType (string)
    • responsibleUserId (string)
    • salesChannel (string)
    • salesInvoiceEmailAddresses (object)
    • salesOrderEmailAddresses (object)
    • startDate (integer)
    • template (boolean)
    • termOfPaymentId (string)
    • terminationReasonId (string)
    • types (array)
    • unlimited (boolean)

    Contract Item properties

    Supported properties of contract items:

    • addPageBreakBefore (boolean)
    • articleId (string)
    • articleNumber (string)
    • billingGroupId (string)
    • costTypeId (string)
    • customAttributes (array)
    • description (string)
    • descriptionFixed (boolean)
    • discountPercentage (string)
    • freeTextItem (boolean)
    • grossAmount (string)
    • grossAmountInCompanyCurrency (string)
    • groupName (string)
    • interval (string)
    • intervalType (string)
    • manualUnitPrice (boolean)
    • netAmount (string)
    • netAmountForStatistics (string)
    • netAmountForStatisticsInCompanyCurrency (string)
    • netAmountInCompanyCurrency (string)
    • nextContractBillingDate (integer)
    • note (string)
    • parentItemId (string)
    • positionNumber (integer)
    • previousContractBillingDate (integer)
    • quantity (string)
    • reductionAdditionItems (array)
    • taxId (string)
    • title (string)
    • type (string)
    • unitId (string)
    • unitPrice (string)
    • unitPriceInCompanyCurrency (string)
    • validFrom (integer)
    • validTo (integer)

    New endpoint /contractBillingGroup

    Supported methods: GET, POST, PUT, DELETE

    Properties:

    • active (boolean)
    • description (string)
    • name (string)
    • positionNumber (integer)

    New endpoint /contractTerminationReason

    Supported methods: GET, POST, PUT, DELETE

    Properties:

    • active (boolean)
    • description (string)
    • name (string)
    • positionNumber (integer)

    New endpoint /contractAuthorizationUnit

    Supported method: GET

    Properties:

    • name (string)

    Extend record items

    Add descriptionFixed (boolean) to all record items.

    Affected endpoints:

    • /incomingGoods
    • /purchaseInvoice
    • /purchaseOrder
    • /purchaseOrderRequest
    • /purchaseOrder
    • /quotation
    • /salesInvoice
    • /salesOrder
    • /shipment

    Version 22.03.1 - February 10th, 2022

    Sales Invoice

    /salesInvoice

    Added property:

    • cancellationNumber (String, readOnly)

    Store

    /warehouseStockMovement:

    Add customAttribute support

    Added properties:

    • userId (String)
    • customAttributes (Array)

    Extend additional fields

    /customAttributeDefinition

    Added properties:

    • defaultStringValue (String)
    • defaultNumberValue (String)
    • defaultDateValue (Date)
    • defaultBooleanValue (Boolean)

    Added property in selectableValuesdefaultValue (Boolean)

    Version 22.02.1 - January 27th, 2022

    Production Order

    /productionOrder

    Provides filter support for productionOrderItems.

    Sales Order

    /salesOrder

    There will be a separate permission for each salesOrderPaymentType. A /salesOrder update operation will only be possible, if the user has permission for its salesOrderPaymentType.

    /party

    Added property customerSalesOrderPaymentType (string)

    Purchase Order

    /purchaseOrder

    Added property invoicedQuantity (String) to purchaseOrderItems.

    Purchase Invoice

    /purchaseInvoice

    The invoiceDate is now used to calculate the dueDate when creating a purchaseInvoice via API instead of the former used createdDate.

    Added property:

    • senderCountryCode (string)

    Article Supply Source

    /articleSupplySource

    The field articleNumber can now contain commas and semicolons

    New endpoints for calendar

    /calendar

    Properties:

    • caldavAccountId (string)
    • calendarColor (string)
    • calendarKey (string)
    • calendarSharingPermissions (array)
    • lastEventsSyncToken (string)
    • mailAccountId (string)
    • name (string)
    • ownerId (string)
    • sharePrivateEvents (boolean)
    • synchronize (boolean)

    SharingPermission properties:

    • permissionType (string)
    • userId (string)

    /calendarEvent

    Properties:

    • calendarId (string, readOnly)
    • userId (string, readOnly)
    • subject (string)
    • description (string)
    • startDate (integer)
    • endDate (integer)
    • location (string)
    • privateEvent (boolean)
    • concerningId (string)
    • contactId (string)
    • deleted (boolean, readOnly)
    • allDayEvent (boolean)
    • reminderTime (integer)
    • reminderSendType (string)
    • showAs (string)
    • references (array)
    • recurringEvent (object)
    • attendees (array)

    Reference properties:

    • calendarEventId (string)
    • entityName (string)
    • entityId (string)

    RecurringEvent properties:

    • endsOn (integer)
    • eventType (string)
    • repeatOn (string)
    • eventInterval (integer)
    • eventOccurrenceCount (integer)

    Attendee properties:

    • calendarEventId (string)
    • userId (string)
    • eventPermission (string)
    • attendeeStatus (string)

    Article

    /article

    The specific permission “Article edit article type” which currently only the role “ERP aministrator” has, will be necessary to update the following /article properties:

    • articleType
    • storable
    • batchNumberRequired
    • serialNumberRequired
    • availableInSale
    • productionArticle
    • showOnDeliveryNote
    • billOfMaterialPartDeliveryPossible
    • useSalesBillOfMaterialItemPrices
    • useSalesBillOfMaterialItemPricesForPurchase

    /article property articleCategoryId is only visible with permission “Merchandise category read”.

    /article property articlePrices is only visible with permission “Article price read”.

    /article query filter properties articleCategoryId, articleCategory are only available with permission “Merchandise category read”.

    /article query filter properties minimumStockQuantity, targetStockQuantity, articleAlternativeQuantities are only available with permission “Supply source read”.

    /article query filter property showOnDeliveryNote is only available with permission “Article edit delivery information”.

    /article query filter properties articlePrices is only available with permission “Article price read”.

    Variant Article

    /variantArticle

    Added property positionNumber (integer) to variantArticleVariant.

    /variantArticleVariant

    Added property positionNumber (integer, readonly)

    New endpoints for CRM

    /party

    Added properties:

    • customerNonStandardTaxId(string)
    • supplierNonStandardTaxId (string)
    • invoiceBlock (boolean)

    /customer

    Added property:

    • nonStandardTaxId (string)
    • incoiceBlock (boolean)

    /supplier

    Added property:

    • nonStandardTaxId (string)

    Version 22.01.1 - January 13th, 2022

    Quotation

    /quotation: If user does not have permission “Store read”, hide properties:

    • warehouseId
    • warehouseName

    Sales Order

    /salesOrder now supports DELETE.

    Purchase Order

    /purchaseOrder: Allow mapping of a purchase order item to an existing blanket purchase order.

    Added properties:

    • blanketPurchaseOrderId (string)
    • blanketPurchaseOrderReleaseId (string, readonly)

    /blanketPurchaseOrder: Indicate if the above mapping is possible for a blanket purchase order (residualQuantity > 0 is required).

    Added property:

    • residualQuantity (string, readonly)

    Fulfillment Provider

    /fulfillmentProvider: If user does not have permission “Store read”, hide property warehouseId.

    Creating Supplier Returns

    From now a supplier return can also be created via the API.

    with relation to supplier

    endpoint: POST /shipment

    mandatory field:

    “shipmentType”: “SUPPLIER_RETURN”
    “recipientPartyId”: <supplierId>

    with relation to purchaseOrder

    endpoint: POST /purchaseOrder/id/:id/createSupplierReturn

    New endpoints for Accounting & Finance

    /costType

    New endpoint /costType is available for: GET, POST, PUT and DELETE.

    Property:

    • name (string)

    /bankAccount

    New endpoint /bankAccount is available for: GET, POST, PUT and DELETE.

    Properties:

    • accountHolder (string)
    • accountId (string)
    • accountNumber (string)
    • active (boolean)
    • autoSync (boolean)
    • balance (string, readonly)
    • bankCode (string)
    • creditInstitute (string)
    • creditInstituteCity (string)
    • creditInstituteStreet (string)
    • creditInstituteZip (string)
    • creditLine (string)
    • currencyId (string)
    • differentSepaCreditorIdentifier (string)
    • enabledForElectronicPaymentTransactions (boolean)
    • iban (string)
    • incidentalCostsOfMonetaryTrafficAccountId (string)
    • incidentalCostsOfMonetaryTrafficTaxId (string)
    • lastDownload (integer, readonly)
    • primary (boolean)
    • qrIban (string)
    • qrIdentifier (string)
    • swiftBic (string)

    /sepaDirectDebitMandate

    New endpoint: /sepaDirectDebitMandate is available for: GET, POST, PUT and DELETE.

    Required properties:

    • bankAccountId (string)
    • partyBankAccountId (string)
    • mandateReference (string)

    Optional properties:

    • description (string)
    • signatureDate (integer)
    • cancellationDate (integer)
    • firstDebit (boolean)
    • runtime (string)
    • type (string)

    /PaymentMethod

    Improvements for /PaymentMethod

    From now it’s possible to read and update the following values via API:

    • reference (string)
    • documentText (string)
    • discountPercentage (string)
    • discountValue (string)
    • type (string)
    • clearingAccount (string)
    • autoClearingAccountTransaction (boolean)

    Comments

    Added constraints for UPDATE/CREATE of shouts

        • if (privateComment AND publicComment)
          throw “comments cannot be private and published at the same time”
        • if (solution AND NOT publicComment)
          throw “comment marked as solution must be public
        • if isChildComment
          • if mixed entities ; eg. project comment with ticket subComment
            throw “referenced entities are not the same for parent and child comment
          • if subComment of subComment
            throw “only one level of child comments is allowed
          • if solution
            throw “comments with parent cannot be solution
          • if (privateComment OR publicComment)
            throw “comments with parent cannot be private or public
        • if service does not support public comments (this is currently only available for Tickets)
          • if (NOT privateComment AND NOT publicComment)
            throw “comments have to be either private or public”
          • if solution
            throw “comment cannot be a solution”

    Version 21.20.1 - November 25th, 2021

    Blanket Purchase Orders

    Blanket purchase orders are now available via API with the new endpoint /blanketPurchaseOrder.

    This endpoint can be used to create, read, edit and delete blanket purchase orders.

    Available for: GET, POST, PUT, DELETE

    Possible status:
    NEW
    DOCUMENT_PRINTED
    CONFIRMED
    CLOSED
    CANCELLED

    You can generate releases for a blanket purchase order with
    POST /blanketPurchaseOrder/id/{id}/generateReleases

    You can download the latest blanket purchase order document (if existent) with
    GET /blanketPurchaseOrder/id/{id}/downloadLatestBlanketPurchaseOrderPdf

    Endpoint /customsTariffNumber

    Added property: description (string)

    Affected endpoints:

    • /articleAccountingCode
    • /articleRating
    • /companySize
    • /costCenterGroup
    • /customerLeadLossReason
    • /customerTopic
    • /customsTariffNumber
    • /leadRating
    • /leadSource
    • /legalForm
    • /manufacturer
    • /opportunityTopic
    • /opportunityWinLossReason
    • /partyRating
    • /personalAccountingCode
    • /sector
    • /title

    Dropshipping Improvements

    • /purchaseOrder: The order item quantity for a dropshipping purchase order is now validated such that it cannot be larger than the open shipping quantity of the linked sales order.
    • /salesOrder: The order item quantity is now validated such that it cannot be smaller than the quantity contained in possible linked dropshipping purchase orders.
    • /salesOrder/id/:id/createDropshipping: Creation of a dropshipping purchase order is not possible if all sales order items already belong to valid shipments or other dropshipping purchase orders.

    Version 21.19.1 - November 11th, 2021

    Articles: Added properties for disposition settings

    Article related settings “Safety stock days”, “Avg. delivery time”, “Minimum order quantity” and “Fixed order quantity” data can be read and update through API from now. Also “Low-level code” can be read through API.

    Endpoint /article

    Added properties:

      • fixedPurchaseQuantity  (string)
      • minimumPurchaseQuantity (string)
      • safetyStockDays (integer)
      • averageDeliveryTime (integer)
      • lowLevelCode (integer, readonly)

    Endpoint /articleSupplySource

    Added properties:

      • fixedPurchaseQuantity (string)
      • minimumPurchaseQuantity (string)

    Shipments

    Endpoint /shippingCarrier

    Added writeable property active (boolean) to shippingCarrier endpoint in order to be able to see which shipping carriers are active as well as the possibility of activating and deactivating shipping carriers.

    Endpoint /shipment

    New fields in shipment:

      • packageReturnTrackingNumber(string)
      • packageReturnTrackingURL(string)

    General Improvements

    Using system custom attributes to filter

    Allow to filter entities using system custom attributes.

    Add currency conversion information

    Added read-only properties for currency conversion:

      • currencyConversionRate (string)
      • currencyConversionDate (integer)

    Affected endpoints:

      • /purchaseInvoice
      • /purchaseOrder
      • /purchaseOrderRequestOffer
      • /quotation
      • /salesOrder
      • /salesInvoice
      • /shipment

    Extend /termsOfPayment

    From now it’s possible to read and update the following values via API:

      • reference (string)
      • validFrom (integer)
      • validTo (integer)

    Extended validation

    Properties of type boolean may no longer be null, which was still possible in certain cases up to now.

    Version 21.18.1 – October 28th, 2021

    Add more values to onlineAccount

    • AMAZON
    • EBAY
    • GOOGLE_DRIVE

    New Endpoints for Personal Accounting Code and Article Accounting Code

    New endpoints /articleAccountingCode and /personalAccountingCode are available for: GET, POST, PUT and DELETE. Only the field “name” is mandatory for the POST method.

    Changes for Endpoint Shipment

    Regardless of the status of the shipment, the following fields are always editable:

    • shippingCarrierId
    • shippingCarrierName
    • shippingReturnCarrierId
    • shippingReturnCarrierName
    • additionalDeliveryInformation

    Add more values to internalShippingCarrier

    • FEDEX_INTERNATIONAL_ECONOM
    • FEDEX_INTERNATIONAL_PRIORITY

    Extensions at the /productionOrder endpoint

    The following new properties are added:

    • allWithdrawalsConfirmed (boolean)
    • articleId (string)
    • articleNumber (string)
    • assignedPickingUserId (string)
    • assignedPickingUserUpdateDate (integer)
    • assignedPickingUserUsername (string)
    • pickingInstructions (string)
    • withdrawalsComplete (boolean)

    Version 21.17.1 – October 14th, 2021

    New endpoint for quotations

    With the newly available endpoint /quotation/id/{id}/createQuotationPdf it is possible to create and download a quotation document.

    Shipments & Incoming Goods

    Shipment api: Shipments won’t be shown anymore if the recipientParty is a party which the user can’t see (Setting “May only view own contacts” enabled at user)

    Incoming goods api: Incoming goods won’t be shown anymore if the senderParty is a party which the user can’t see (Setting “May only view own contacts” enabled at user)

    User is added to documents API endpoint

    When retrieving document information, the user, who uploaded the document, is now also displayed.
    Fields: userId

    New field for record endpoints

    New field disableEmailTemplate (Boolean) for the following record endpoints:

    /purchaseOrderRequest, /shipment, /incomingGoods, /purchaseOrder, /purchaseInvoice, /salesInvoice, /salesOrder, /quotation

    Italy: Fattura Elettronica

    If the optional invoice workflow action “Create Fattura elettronica-XML” is active, sales orders of payment type “retail sale” cannot be created anymore.

    Version 21.16.1 – September 30th, 2021

    External connections

    New endpoint /externalConnection

    Used to get the name and externalConnectionType of externalConnections. ExternalConnections are used in the new ecommerceOrder attribute of salesOrders.

    New article fields

    With our external connections improvements, system additional fields (per store connection) are added as customAttributes to articles. The following attributes were added:

    • Showare5, Shopware6, Magento1, Magento2, WooCommerce & Shopify: “Available in shop”, “Active in shop” and “Sync stock”
    • Shopify: “Variant ID” & “Product ID”
    • Shopware 6: “Sales Channel”.
    • ITscope & Synaxon: “Available in shop
    • Amazon: “Sync stock


    Breaking API Change:
    In this context the article fieldavailableInShopis removed
    and will be listed under customAttributes of the article.


    Removement of Amazon Article fields

    Breaking API Change: Amazon fields  amazonSKU, amazonFBASKU, amazonSmallLightSku and amazonASIN have been removed from the API and will be listed under customAttributes of the article.

     

    New field ecommerceOrder and attributes for sales orders and sales order items

    ecommerceOrderis added as new field with the the following attributes:

    • ecommerceId ->Shop-ID for this sales order
    • externalConnectionId-> weclapp ID for external connection 
    • externalConnectionName -> name external connection
    • ecommerceOrderItemId -> for shops OrderId and for Amazon OrderItemId is listed

    Custom Attributes

    systemCustomAttribute is a new boolean attribute of /customAttributeDefinition. It’s not changeable or setable via the API (New creation sets “false”).

    New fields & endpoint for articles

    New fields expenseAccountId and expenseAccountNumber for endpoint /article.

    New field customsDescription in endpoint /article.

    Party Salutation

    The field “salutation” in /party now also accepts the value “NO_SALUTATION”.

    Shipments

    New endpoint for shipments

    Create an invoice from shipment by using POST /shipment/id/{id}/createSalesInvoice

    Thus an invoice can be created directly from shipment, before it was only possible from sales order.

    New fields for shipment addresses

    Incoming Goods

    • customerDeliveryAddress: Primary shipping address of the customer in case of a return
    • customerInvoiceAddress:Primary billing address of the customer in case of a return
    • invoiceAddress:Billing address

     Shipments

    • invoiceAddress: Different billing address
    • shippedFromAddress: Own company address

    Additionally all fields are available via PUT.

    Improved validation for /contact

    When creating a contact, the API now tells the requester which mandatory field is not filled.

    Italy

    Fattura Elettronica

    Breaking API Change: The field fatturaElettronicaXmlDocumentType in endpoint salesInvoice is removed and instead an additional attribute can be filled with the same values.

    Habitual Exporter

    New fields for endpoint /party

    • habitualExporter writable for customers
    • purchaseViaPlafond writable for suppliers
    • partyHabitualExporterLettersOfIntent writable for customers with habitualExporter = true and for suppliers with purchaseViaPlafond = true

    New field for endpoints /purchaseInvoice and /purchaseOrder

    • supplierHabitualExporterLetterOfIntentId writable to select a letter of intent in purchase order or purchase invoice

    New field for /salesInvoice and /salesOrder

    • customerHabitualExporterLetterOfIntentId writable to select a letter of intent in sales order or sales invoice

    To write all of the above fields, “Habitual Exporter & Purchase via Plafond” needs to be enabled in CRM settings.

    Version 21.15.1 – September 16th, 2021

    Description for sales and purchase prices

    The field name has been added for reductionAdditions.

    Available for endpoints:
    /articlePrice
    /articleSupplySource
    /article

     

    Reference between shipments and purchase orders

    For shipments, the reference to a purchase order was added.

    This is relevant for supplier returns.

    The purchase orders are referenced via: purchaseOrders (Array[id])

    Version 21.14.1 – September 2nd, 2021

    Unification of the field type “description”

    • html tags are now included for /description and can be passed to weclapp via PUT.
    • description field  is added for /purchaseOrderRequest, /productionOrder, /shipment.
    • description can now be edited by API, if the document is no longer in capture (previously this was only possible in the application)

    HTML text editor for form texts

    • html text editor available for all form texts
    • API fields/recordComment, /recordFreeText, /recordOpening:html tags are now included, via PUT they can also be passed to weclapp accordingly.

    Version 21.13.2 – August 26th, 2021

    New fieldadvancePaymentStatus for endpoint /salesOrder

    advancePaymentStatus as new property for sales orders.

    Possible values are: null, OPEN or PAID

    Version 21.13.1 – August 19th, 2021

    User Setting: Not allowed to use API token

    Decide if specific users should not be able to use the API token (My weclapp > User).

    New fieldreservationsfor endpoint/warehouseStock

    Reservations show the reserved quantity of the stock and the production order or shipment item for which the reservation is made.

    "reservations": [
    {"productionOrderItemId": "X",
    "shipmentItemId": "X",
    "reservedQuantity": "X" }
    ]

     

    New field customerBusinessType for endpoint /party

    New field customerBusinessType for the endpoint /party.
    Possible values are: B2B, B2C, B2G

    Version 21.12.1 – August 5th, 2021

    Invoices

    SalesInvoice can now be canceled via API by using the “VOID” status.

    Incoming Goods

    incomingGoods can be cancelled by using the status “INCOMING_CANCELLED”.

    New endpoint: legalForm

    New endpoint legalForm is available with: GET, PUT, POST, DELETE

    With this endpoint, legal forms can be created and edited.

    Purchase Order Request

    New fields for endpoint purchaseOrderRequest

    * purchaseOrderRequestNumber
    * salesOrderId
    * salesOrderNumber
    * quotationId
    * quotationNumber

    API Changes only for italian customers (using FatturaPA)

    • validation for sales invoice/credit note number range
    • deactivation of invoices/credit notes cancellation for italian tenants

    Further details can be read in our Changelog as soon as published.

    Version 21.10.1 – July 8th, 2021

    Sales order items

    • The fields invoicedQuantity and shippedQuantity are now available for sales order items. The fields show how much has already been shipped/invoiced.

    Version 21.09.1 – June 24th, 2021

    Party

    The supplier number of customer (customerSupplierNumber) has been added to the party entity. The field is available as GET and PUT.

    Article

    The “revenue account field” (accountId) has been added and is available via GET and PUT.

    Quotations

    Accept or reject quotations by API. Set the field status to ACCEPTED or REJECTED. When accepting a quotation all items will be transfered to the next record, for example sales order.

    Shipments

    The declared value amount of shipments is now availably by API. The fields declaredValueAmount, declaredValueAmountCurrencyId and declaredValueAmountCurrencyName have been added to /shipment.

    Customer Return

    The differing invoice recipient for customer returns is now available by API. UseinvoiceRecipientId for /incomingGoods for incomingGoodsType = “CUSTOMER_RETURN”.

    Sales Invoices

    New read-only field paymentStatus for /salesInvoice.

    Read by API if the sales invoice or credit note has no open item, has an open item, is paid, or cleared (with a credit note).

    Quotation-, Sales Order- and Sales Invoice Items

    The fields ServicePeriodFrom and ServicePeriodTo are available via GET, PUT, POST for quotation-/ salesOrder- and salesInvoiceItems.

    Purchase Order & Purchase Invoice

    The fields ServicePeriodFrom and ServicePeriodTo are available via GET, PUT, POST.

    Version 21.08.1 – June 10th, 2021

    Supplier requests

    Supplier requests are now available via API with the new endpoint /purchaseOrderRequest

    This endpoint can be used to read, edit or create supplier requests.

    Available for: GET, POST, PUT, DELETE

    Possible status:

    • NEW
    • CLOSED
    • CANCELLED
    • DOCUMENT_PRINTED
    • OFFER_RECEIVED

    Status for purchaseOrderRequestOffers:

    • OPEN
    • REQUESTED
    • OFFER_RECEIVED
    • ACCEPTED

    You can create a purchase order or a blanket purchase order from the supplier request:

    POST /purchaseOrderRequest/id/{id}/createPurchaseOrder

    POST /purchaseOrderRequest/id/{id}/createBlanketPurchaseOrder

    Purchase order items

    The fields plannedDeliveryDate and plannedShippingDate have been added to purchaseOrderItems.

    Quotations

    The fields warehouseId and warehouseName have been added to /quotation.

    Shipments

    The link of shipment items to sales order items is now available by API.

    New field salesOrderItemId in shipmentItems in /shipment (read-only).

    Version 21.07.1 – May 27th, 2021

    New endpoint for  sales orders (salesOrder)

    POST /createDropshipping
    POST /createPurchaseOrder

    This endpoint can be used to create a purchase order or a dropshipping from a sales order.

    Upload shipping labels for shipments

    Shipping labels (only PDF files) can now be uploaded for shipments. Use the parameters name and description (optional).
    POST /shipment/id/{ID}/createShippingLabelPdf?name=XYZ&description=XYZ

    Article cost centers

    Article cost centers are now available via the API. Extension of the endpoint /article with the fields:

    • purchaseCostCenterId
    • purchaseCostCenterNumber
    • salesCostCenterId and
    • salesCostCenterNumber

     

    Accounting transactions (accountingTransaction)

    Next to the transactionDetails, the currency is now also part of the /accountingTransaction. New fields currencyId and currencyName in endpoint /accountingTransaction.

    Changing the data types of some properties from integer to string

    • /incomingGoods
      purchaseOrderId (int -> string)
    • /salesOrder
      defaultShippingCarrierId,defaultShippingReturnCarrierId (int -> string)
    • /shipment
      shippingCarrierId, shippingReturnCarrierId (int -> string)

    Version 21.06.1 – May 12th, 2021

    Opportunities
    Opportunities can be filtered by topics and topics can be used as referenced entities:
    /webapp/api/v1/opportunity?topics.name-eq=<name>&includeReferencedEntities=topics.id

    Version 21.05.1 – April 29th, 2021

    Sales Order
    New endpoint /salesOrder/id/{id}/shipOrderForExternalFulfillment
    available for: POST

     

    Sales and Purchase Invoices
    Extension to up to five “costCenterItems” per “salesInvoiceItems” or per “purchaseInvoiceItems”.

    Version 21.04.1 – April 15th, 2021

    Phone Number in Addresses
    The field “phoneNumber” has been added to all addresses (e.g. for the endpoints/party, /salesOrder, /salesInvoice).

     

    Opportunities

    New endpoint /opportunityTopic (topics of opportunities)

    Available for: GET, POST, PUT, DELETE

    Extension of the opportunity endpoint /opportunity with the array field “topics”.

     

    Tasks

    Pivate tasks must have an agent.