当我试图通过 Acumatica Web 服务 API 将我们的电子商务订单添加到 Acumatica 中时,Acumatica 中总是会根据我从我们的电子商务系统发送到 Acumatica 的产品和客户信息自动计算包括总计在内的税收详细信息。
由于我们的客户已经在我们的电子商务网站上为他们的订单支付了全部款项,包括税款,我想用任何数据覆盖这些与税收相关的信息,例如每件商品的税款总额和税款,我从电子商务中获取以避免电子商务和 Acumatica 之间的潜在冲突(在大多数情况下,两个系统中的税收计算应该完全相同,但有时由于某些配置或系统错误可能会有所不同),但是,我尝试了不同的方式,但没有一个有效。
有人知道该怎么做吗?我的部分代码如下:
SO301000Content SO301000 = context.SO301000GetSchema();
context.SO301000Clear();
List<Command> cmds = new List<Command>();
cmds.Add(new Value { Value = "SO", LinkedCommand = SO301000.OrderSummary.OrderType });
cmds.Add(new Value { Value = "<NEW>", LinkedCommand = SO301000.OrderSummary.OrderNbr });
cmds.Add(new Value { Value = "ABCD", LinkedCommand = SO301000.OrderSummary.Customer });
cmds.Add(new Value { Value = "ABCD1234", LinkedCommand = SO301000.OrderSummary.Location });
//please note I could add extra tax item as below:
cmds.Add(SO301000.TaxDetails.ServiceCommands.NewRow);
cmds.Add(new Value { Value = "0.5", LinkedCommand = SO301000.TaxDetails.TaxAmount });
cmds.Add(new Value { Value = "ON HST", LinkedCommand = SO301000.TaxDetails.TaxID });
cmds.Add(new Value { Value = "10", LinkedCommand = SO301000.TaxDetails.TaxRate });
cmds.Add(new Value { Value = "289", LinkedCommand = SO301000.TaxDetails.TaxableAmount });
//however when I was trying to add the number for tax total, it doesn't work
cmds.Add(new Value { Value = "1.5", LinkedCommand = SO301000.OrderSummary.TaxTotal });
cmds.Add(new Value { Value = "GST", LinkedCommand = SO301000.TaxDetails.TaxID });
//the two lines above do not work
//add line items
foreach (OrderItem item in orderInfo.OrderItems)
{
cmds.Add(SO301000.DocumentDetails.ServiceCommands.NewRow);
cmds.Add(new Value { Value = item.InventoryCD, LinkedCommand = SO301000.DocumentDetails.InventoryID });
cmds.Add(new Value { Value = item.Quantity.ToString(), LinkedCommand = SO301000.DocumentDetails.Quantity });
}
cmds.Add(SO301000.Actions.Save);
cmds.Add(SO301000.OrderSummary.OrderNbr);
SO301000Content[] SO30100content = context.SO301000Submit(cmds.ToArray());
谢谢。