What do I need to do to cancel an order?
Use this flow diagram to help identify what steps are needed in order to cancel a sales order in Brightpearl.
Understanding order price mode
The price mode on an order in Brightpearl indicates whether the order row prices used are inclusive or exclusive of tax. This then ensures that Brightpearl either adds tax on top of the price, or calculates it out of the price accordingly.
Where Price mode = Price EXCLUDE tax
In this example the list price/price of £12.99 is excluding tax and therefore 20% tax is ADDED.
Notice how the tax column is displayed and the total does not represent the row total, but the total net.
Where Price mode = Price INCLUDE tax
In this example the list price/price of £12.99 is including tax and therefore 20% tax is calculated as being part of £12.99.
Notice how the tax column is hidden, and the total does represent the row total.
How is the price mode set?
Manually created orders
The price mode on a manually entered order is dependant on the price list used. Where the price list is set as “show prices as gross” the order will automatically be created with a price mode of “Prices include tax”, and vice versa.
The API only accepts net prices and a separate tax value, and both values are required. Some integrated platforms provide the tax value directly, such as Magento and Bigcommerce. Others calculate the tax within the connector, such as Shopify and ekmPowershop, Amazon and eBay.
The price mode assigned to the order is variable, but by default:
- Magento looks at the price list. If the price list is inclusive of tax then the price mode is “Prices include tax” and vice versa.
- Amazon & eBay default to “Prices include tax” and do not look at the price list.
However, there is one overriding rule which all integrations with Brightpearl adhere to:
The price mode is always “Prices exclude tax” when Brightpearl calculates a tax value which is different from that received via the API. Brightpearl will always use the tax value sent via the API, overriding what Brightpearl would calculate within the order. This isn’t a problem except for when this override happens the tax column MUST be shown on the order row so that a “manual tax” entry can be made.
An order for a single item, for which the customer paid £4, including 20% tax. This will be sent via the API as:
£3.33 net + £0.67 tax
When the order is created in Brightpearl the line item is added with a tax inclusive price of £4.00 and a tax code of T20 (20%). Brightpearl performs its own calculation for tax and agrees that tax would be £0.67. Therefore the price mode remains as “Prices include tax”.
An order for a single item, for which the customer paid £3.99, including 20% tax. This will be sent via the API as:
£3.33 net + £0.66 tax
When the order is created in Brightpearl the line item is added with a tax inclusive price of £3.99 and a tax code of T20 (20%). Brightpearl performs its own calculation for tax and disagrees, it thinks it should be £0.67. In this case the value received via the API overrides and manual tax is added. However, in order to apply manual tax Brightpearl needs the tax column to be shown. The tax mode is therefore switched to “Prices exclude tax”.
In the below example we can see that Brightpearl used the tax rules to assign a tax code of T20 (20%), however, Magento has sent a tax value of £0.00. The order row displays a yellow tax field to indicate that the value calculated by Brightpearl (which would have been £0.83) has been overridden.
In this example we can see that the price mode is “Prices include tax”. This is where Brightpearl has calculated the same tax amount as Magento gave and therefore no manual override is required and the column doesn’t need to be shown.