General
Once APIcenter retrieves the order data it is processed, add missing data (for example SalesVatcode) and start the send process towards the target application. First APIcenter checks if the order already exists, if it exists we skip the order. If it does not exists APIcenter checks if the customer exists and depending on the outcome create or update the customer. APIcenter checks if all products exist and then the order is committed.
APIcenter differentiates in creating the customer based upon the source data received. If APIcenter receives from the source a company name then a company debtor is created with the underlying contact. If there is no company then a person debtor is created.
The check on customer exists is done per default by email address.
Ordertypes
MplusKassa supports Orders and Invoices
Required fields
- ArticleNumber
We of course know that the article numbers are required on the products. However, the articlenumber must be numeric. This means that cannot create, update or even search for an article/product when the article number is not numeric.
For a value to be numeric it can only contain numbers (and decimals like 0.2). Validation is added in the beginning of the flow to check if any articles have non-numeric articlenumbers.
- reference
The field holds the reference to the order from the source application.
- employeeNumber
This number is madatory. By default, the value 999999 is used. This value represents the superUser in MplusKassa.
If another user needs to be selected:
- Look up the number of the user in MplusKassa
- Add the field
employeeNumber
to the datamapping - Create a BusinessRule and set the number as the default value. More information about BusinessRules can be found here
- entryBranchNumber
The branch on which this invoice was entered into the system. Can in theory be different from the financialBranchNumber. However, When supplying a non-default entryBranchNumber
a workplaceNumber
must also be provided! But the order doesn’t come from a workplace inside MplusKassa. So by default, entryBranchNumber
is set to 1, but it won’t overwrite it when already set. (Also set the workplaceNumber
in that case)
- LineItems.*.data.discountType
Every order line needs to specify what the discount type is. MplusKassa defined a selection of options to select. See the Enums section of this page to see all options. When nothing was set on the discountType
field DISCOUNT-TYPE-NONE
will be set.
- VatMethod
Every order needs to specify what the vatMethod
is. MplusKassa defined a selection of options to select. See the Enums section of this page to see all options. When the first orderline has the price
field the method is set to VAT-METHOD-INCLUSIVE
. When the price
field is not on the first orderline the method is set to VAT-METHOD-EXCLUSIVE
An method can be forced by setting it in the datamapping.
- fullyPaid
When this value is equal to false, the order will no be marked as paid.
Important settings
- Amount to process
- Specify the Date from which you want to retrieve Orders
- Send order as
Datamapper
Per default APIcenter supplies a mapping that makes sure you can send orders towards the target application. You can also make adjustments to this yourself.
Default fields that are mapped are for example:
- Customer Name
- Billing address street
- Number
- Postalcode
- City
- Country
- Shipping address street
- Number
- Postalcode
- City
- Country
- SKU/EAN
- Quantity
- Price
More information about data mapping can be found here.