Feature to handle different SKU tax types when creating sales invoices

Added feature to handle different tax types when creating Xero sales invoice from Amazon settlement reports. (#1)
This commit is contained in:
2019-03-25 16:32:22 +00:00
committed by GitHub
parent f33220e278
commit 24eee320e8

View File

@@ -3875,15 +3875,24 @@ namespace bnhtradeDatabaseClient
// get transaction type id for line // get transaction type id for line
// build the match string // build the match string
// NB special case for global accounting sale and refunds (also note Goodlwill is included) // NB special case for global accounting sale and refunds (also note Goodlwill is included) and sku's where tax is included
string matchString = "<AmazonReport><SettlementReportLine><" + match01 + "><" + match02 + ">"; string matchString = "<AmazonReport><SettlementReportLine><" + match01 + "><" + match02 + ">";
if ((match01 == "Order" || match01 == "Refund") && match02 == "ItemPrice" && (match03 == "Principal" || match03 == "Goodwill")) if ((match01 == "Order" || match01 == "Refund") && match02 == "ItemPrice" && (match03 == "Principal" || match03 == "Goodwill" || match03 == "Tax"))
{ {
if (lineSku == "") if (lineSku == "")
{ {
throw new Exception("Could not retrive Sku from SettleLineId=" + settlementLineId); throw new Exception("Could not retrive Sku from SettleLineId=" + settlementLineId);
} }
matchString = matchString + "<Principal>";
if (match03 == "Goodwill")
{
matchString = matchString + "<Principal>";
}
else
{
matchString = matchString + "<" + match03 + ">";
}
if (dicSkuToTaxCodeId.ContainsKey(lineSku)) if (dicSkuToTaxCodeId.ContainsKey(lineSku))
{ {
matchString = matchString + "<AccountTaxCodeID=" + dicSkuToTaxCodeId[lineSku] + ">"; matchString = matchString + "<AccountTaxCodeID=" + dicSkuToTaxCodeId[lineSku] + ">";