Shipping at Header Level
A Shipping charge can be applied to the Invoice at the header level.
This requires new elements in the InvoiceDetailRequestHeader element, the InvoiceDetailSummary element and some changes to the calculations in the Tax and GrossAmount elements in the InvoiceDetailSummary.
InvoiceDetailShipping
The InvoiceDetailShipping element needs to be included in the InvoiceDetailRequestHeader element.
This contains the shipTo Contact which is where the goods were shipped to. Note: If the InvoiceDetailShipping element is omitted, Unimarket will not import any shipping charges from the invoice, but the invoice will not generate an error response from our server.
<InvoiceDetailRequestHeader invoiceDate="2020-10-08" invoiceID="TestInvoice10020" operation="new" purpose="standard">
<InvoiceDetailLineIndicator isTaxInLine="yes"/>
<InvoicePartner>
<Contact role="billTo">
<Name lang="en">Head Office</Name>
<PostalAddress>
<Street>123 Something Street</Street>
<City>Auckland</City>
<PostalCode>1010</PostalCode>
<Country isoCountryCode="NZ">New Zealand</Country>
</PostalAddress>
</Contact>
</InvoicePartner>
<InvoiceDetailShipping>
<Contact role="shipTo">
<Name lang="en">Customers Address</Name>
<PostalAddress>
<Street>456 Another Ave</Street>
<City>Auckland</City>
<PostalCode>1010</PostalCode>
<Country isoCountryCode="NZ">New Zealand</Country>
</PostalAddress>
</Contact>
</InvoiceDetailShipping>
</InvoiceDetailRequestHeader>
This will show for the customer in the Ship To section on the Invoice in Unimarket.
SubtotalAmount
The SubtotalAmount element contains the Money element.
The Money element has a currency attribute and the sum total for all lines on the invoice.
In this example it would be: 17.05 + 13.08 + 10.40 = 40.53
<SubtotalAmount>
<Money currency="NZD">40.53</Money>
</SubtotalAmount>
ShippingAmount
The ShippingAmount element needs to be included in the InvoiceDetailSummary element.
This contains the Money element.
The Money element has a currency attribute and the Shipping Amount without tax for the invoice.
In this example it would be: 10.00
<ShippingAmount>
<Money currency="NZD">10.00</Money>
</ShippingAmount>
Tax
The Tax element contains the Money element.
The Money element has a currency attribute and the total tax for goods and shipping on the invoice.
The Description element contains the name of this type of tax. In this example it would be GST.
The TaxDetail element contains a further breakdown showing each tax source.
TaxDetail
In the below example you can see the Tax on Goods (purpose="tax") and the Tax on Shipping (purpose="shippingTax").
This should be calculated based on TaxableAmount x Tax Rate = TaxAmount
Goods:
In this example it would be: 40.53 x 0.15 (15%) = 6.0795
The purpose attribute is "tax".
The Description element contains the name of this type of tax. In this example it would be GST.
<TaxDetail category="GST" percentageRate="15.00" purpose="tax">
<TaxableAmount>
<Money currency="NZD">40.53</Money>
</TaxableAmount>
<TaxAmount>
<Money currency="NZD">6.0795</Money>
</TaxAmount>
<Description lang="en">GST</Description>
</TaxDetail>
Shipping:
In this example it would be: 10.00 x 0.15 (15%) = 1.50
The purpose attribute is "shippingTax".
The Description element contains the name of this type of tax. In this example it would be GST.
<TaxDetail category="GST" percentageRate="15.00" purpose="shippingTax">
<TaxableAmount>
<Money currency="NZD">10.00</Money>
</TaxableAmount>
<TaxAmount>
<Money currency="NZD">1.50</Money>
</TaxAmount>
<Description lang="en">GST</Description>
</TaxDetail>
In this example it would be: 6.0795 (Tax on Goods) + 1.50 (Tax on Shipping) = 7.5795
<Tax>
<Money currency="NZD">7.5795</Money>
<Description lang="en">GST</Description>
<TaxDetail category="GST" percentageRate="15.00" purpose="tax">
<TaxableAmount>
<Money currency="NZD">40.53</Money>
</TaxableAmount>
<TaxAmount>
<Money currency="NZD">6.0795</Money>
</TaxAmount>
<Description lang="en">GST</Description>
</TaxDetail>
<TaxDetail category="GST" percentageRate="15.00" purpose="shippingTax">
<TaxableAmount>
<Money currency="NZD">10.00</Money>
</TaxableAmount>
<TaxAmount>
<Money currency="NZD">1.50</Money>
</TaxAmount>
<Description lang="en">GST</Description>
</TaxDetail>
</Tax>
GrossAmount
The GrossAmount element contains the Money element.
The Money element has a currency attribute and the Gross Amount for the invoice.
This should be calculated based on Subtotal + ShippingAmount + Tax = GrossAmount
In this example it would be: 40.53 + 10.00 + 7.5795 = 58.1095
<GrossAmount>
<Money currency="NZD">58.1095</Money>
</GrossAmount>
InvoiceDetailSummary
Below is the example InvoiceDetailSummary section including shipping.
<InvoiceDetailSummary>
<SubtotalAmount>
<Money currency="NZD">40.53</Money>
</SubtotalAmount>
<ShippingAmount>
<Money currency="NZD">10.00</Money>
</ShippingAmount>
<Tax>
<Money currency="NZD">7.5795</Money>
<Description lang="en">GST</Description>
<TaxDetail category="GST" percentageRate="15.00" purpose="tax">
<TaxableAmount>
<Money currency="NZD">40.53</Money>
</TaxableAmount>
<TaxAmount>
<Money currency="NZD">6.0795</Money>
</TaxAmount>
<Description lang="en">GST</Description>
</TaxDetail>
<TaxDetail category="GST" percentageRate="15.00" purpose="shippingTax">
<TaxableAmount>
<Money currency="NZD">10.00</Money>
</TaxableAmount>
<TaxAmount>
<Money currency="NZD">1.50</Money>
</TaxAmount>
<Description lang="en">GST</Description>
</TaxDetail>
</Tax>
<GrossAmount>
<Money currency="NZD">58.1095</Money>
</GrossAmount>
</InvoiceDetailSummary>
When looking at this invoice in the Unimarket Supplier Store the cXML invoice will be a downloadable attachment called invoice.xml
See the articles below for additional information on Invoice Integration:
Invoice Integration - Overview
Invoice Integration - cXML Request
Invoice Integration - cXML Header (Credentials)
Invoice Integration - InvoiceDetailSummary
Invoice Integration - InvoiceDetailOrder
Invoice Integration - Discount at Header Level
Invoice Integration - Shipping at Line Level
Invoice Integration - Shipping & Special Handling at Header Level
Invoice Integration - Shipping & Special Handling at Line Level
Invoice Integration - Invoice Accepted Response
Troubleshooting Integrated Invoices