To create a new order based on selected store.
All total calculations are based on the settings of the selected store, specifically whether prices are set to include VAT or not.
| field |
type |
description |
| api_credentials
|
| token |
string |
Credentials provided by Powersoft that allow access to the API |
| order
|
| order_header
|
| shopping_cart_code |
string |
The unique number of the order in your system |
| order_date_local |
datetime |
The local data time. This depends on the timezone. eg. Cyprus is in time zone UTC +2, but it also changes for daylight savings time |
| order_date_utc0 |
datetime |
This is the Coordinated Universal Time (UTC). ie at time zone +0 |
| order_date_deliverby_utc0 |
datetime |
The date by which this order needs to be delivered in UTC0 |
| agent_code_365 |
string |
The code of the agent in 365. Pass "" if none. |
| store_code_365 |
string |
365 store code.
The settings of the selected store will determine whether the order is classified as retail or wholesale.
The field responsible for determining the order type is prices_include_vat from list_stores. |
| customer_code_365 |
string |
The code of the customer in 365. |
| user_code_365 |
string |
The user code. Not Required |
| customer_email |
string |
The email of the customer. |
| total_sub |
decimal |
The total amount of the entire order before vat, and before any discount |
| total_discount |
decimal |
The total discount amount applied to this order before additional discount at the end of the order, in case there is one. If there is no discount, pass 0.00 |
| total_vat |
decimal |
The total vat amount of the entire order before additional discount at the end of the order |
| total_grand |
decimal |
The total that the buyer is charged for this order before additional discount at the end of the order.
The formula is: total_grand = total_sub - total_discount + total_vat |
| order_additional_discount_type |
string |
The discount type applied at the end of the order, if there is one. The accepted values are "amount" or "percentage". In case there is no discount at the end of the order pass empty string "" or do not pass this field. It is not required. |
| order_additional_discount_percentage |
decimal |
The additional discount percentage applied at the end of the order. The value must be between 0 and 100. If there is no additional discount at the end of the order you don't need to pass it. It is not required. If the discount applied is type amount the percentage value must be calculated as round(order_additional_discount_amount/total_grand * 100,2) |
| order_additional_discount_amount |
decimal |
The additional discount amount applied at the end of the order. The value must be less than total_grand. If there is no additional discount at the end of the order you don't need to pass it. It is not required. If the discount applied is type percentage the value must be calculated as round(total_grand*order_additional_discount_percentage/100,2) |
| order_total_value_after_additional_discount |
decimal |
The total the buyer is charged after the additional discount. If there is no additional discount at the end of the order you don't need to pass it. It is not required. order_total_value_after_additional_discount = total_grand - order_additional_discount_amount |
| comments |
string |
Any notes about the order, eg special requirements. Pass "" if none. |
| delivery_address_line_1 |
string |
The address line 1.eg. Street number and name. |
| delivery_address_line_2 |
string |
The address line 2. Pass "" if none. |
| delivery_address_line_3 |
string |
The address line 3. Pass "" if none. |
| delivery_postal_code |
string |
The postal code of the customer. |
| delivery_town |
string |
The town of the customer. |
| delivery_country_code_iso2 |
string |
The 2 digit ISO code of the country. eg CY for Cyprus. |
| delivery_country_name |
string |
The name of the country. |
| payment_term_code_365 |
string |
The payment term code in 365. |
| delivery_term_code_365 |
string |
The delivery term code in 365 |
| is_export |
string |
Flags the order as export. Vat codes provided in the details must be the same with the vat code set for import/export in 365. Allowed values 'yes' or 'no'. Not required, if not provided the default value is 'no'. |
| is_euc |
string |
Flags the order as export to any country belong to EU. Allowed values 'yes' or 'no'. Not required, if not provided the default value is 'no'. |
| ignore_delivery_info |
boolean |
If the value is true no validation for shipping address is performed, otherwise it is a must the shipping address to be provided. For some connections the shipping address is not important and it is not necessary to be passed dummy values just to pass the validation. If is not provided in the request, the default value is false. |
| update_customer_address_info |
string |
It accepts only the values 'yes' or 'no'. If the value is 'yes' then the shipping address provided in the order will be saved as address information in the customer card. If is not provided in the request, the default value is 'yes'. |
| order_status_code_365 |
string |
The order status code in 365. Not required. If is not provided the default order status set by the user in 365 settings will be applied. |
| list_order_details
|
| line_number |
int |
The position of this line in the order list. eg 1 |
| item_code_365 |
string |
The code of the item in 365 |
| line_quantity |
decimal |
The number of pieces of the item for this order line.
The quantity must be provided with the number of decimals as set for the field quantity_decimals in settings |
| line_price_incl_vat |
decimal |
The price including VAT of the item for this order line.
The value must be provided with the number of decimals as set for the field price_decimals in in settings.
The value is ignored if the order type is wholesale and is calculated based on the value of line_price_excl_vat and line_total_vat_percentage. |
| line_price_excl_vat |
decimal |
The price excluding VAT of the item for this order line.
The value must be provided with the number of decimals as set for the field price_decimals in in settings.
The value is ignored if the order type is retail and is calculated based on the value of line_price_incl_vat and line_total_vat_percentage. |
| line_total_sub |
decimal |
The total amount of this line of the order before vat, and before any discount. The formula is based on the order type.
Retail order: line_total_sub = round((it.line_price_incl_vat * it.line_quantity) / (1 + line_total_vat_percentage / 100),2).
Wholesale order: line_total_sub = round(it.line_price_excl_vat * it.line_quantity,2). |
| line_total_discount |
decimal |
The total discount amount of this line of the order. If there is no discount, pass 0.00.
The formula is: line_total_discount = round(line_total_sub * line_total_discount_percentage / 100,2). |
| line_total_discount_percentage |
decimal |
The total discount percentage of this line of the order. eg. If the discount is 10%, pass 10.00 If there is no discount, pass 0.00 |
| line_vat_code_365 |
string |
The code of the vat in 365 |
| line_total_vat |
decimal |
The total vat amount of this line of the order. The formula is based on the order type.
Retail order: line_total_vat = round(line_total_grand - (line_total_sub - line_total_discount),2).
Wholesale order: line_total_vat = round((line_total_sub - line_total_discount) * line_total_vat_percentage / 100,2). |
| line_total_vat_percentage |
decimal |
The total vat percentage of this line of the order. eg. If the vat is 19%, pass 19.00 |
| line_total_grand |
decimal |
The total amount for this line of the order. The formula is based on the order type.
Retail order: line_total_grand = round(round(line_price_incl_vat * line_quantity,2)*(1 - line_total_discount_percentage / 100),2).
Wholesale order: line_total_grand = round(line_total_sub - line_total_discount + line_total_vat,2). |
| line_notes |
string |
Notes per line |
| is_subitem |
boolean |
Indicates if in the line is a subitem |
| root_line_number |
string |
Indicates the parent line id to which the subitem is linked |
| exclude_print |
boolean |
Indicates if the subitem is excluded from the invoice printing. The value is taken from the subitems information |
| list_invoice_payments
|
| payment_number |
string |
Payment number on your side |
| payment_type_code_365 |
string |
365 payment type code (e.g. CASH, JCC and so on) |
| payment_amount |
decimal |
Payment amount |
| payment_description |
string |
Payment description |
| payment_comments |
string |
Payment comments |
| number_of_points_redeemed |
integer |
Number of points to be redeemed. It is required if payment_type_code_365 has the value POINTS and a 365 loyalty schema is selected. A redeem points transaction will be created for the customer when the order is submitted. |
| loyalty_schema_code_365 |
string |
365 Loyalty schema code. Use the call list_loyalty_schema to get them. |
| list_order_redeem_points_vouchers
|
| voucher_number |
string |
Your voucher number used to redeem points. Required. |
| number_of_points_redeemed |
integer |
Number of points to be redeemed. Required. |
| loyalty_schema_code_365 |
string |
365 Loyalty schema code. Use the call list_loyalty_schema to get them. |
| comments |
string |
Additional comments for the redeem points transaction. |
Order with zero values can be created only if the application in 365 is configured to allow orders with zero totals.
If there are not points to redeem based on your voucher and 365 loyalty schema the list_order_redeem_points_vouchers must be passed as null value. Before passing the list_order_redeem_points_vouchers it is recommended to check the customer balance points.