Thank you for your response.
I'm pushing orders from a shopping-cart to OE. For that I'm using Openerp .netConnector with POCO entities.
Customer (incoice-contact, shipping-contact),
Order,
and Orderlines can be created. So now I must fine-tuning the taxes. Taxes are by product-line, but from shopping-cart perspective they are triggered on rules (invoice-country, shipping-country, EU, Extra-EU etc.) So the tax is coming from shopping-cart.When ignoring all this I can force a default tax (default class for now from OE = id 1 @ 15%). So I want to save this tax id with each sales.order.line but I don't know how to handle this. I see that the table sale_order_tax contents this ids for each orderline as many as tax-classes.
Here is part of the order.item:
var neworderline = new OSalesOrderLine();
//neworderline.productid = 19;// not uses until products are mapped
neworderline.taxId = ????
neworderline.orderId = orderId;
neworderline.name = item.Product.Name;
neworderline.productUomQty = Convert.ToDouble(item.Quantity);
neworderline.priceunit = Convert.ToDouble(item.PriceExclTax * currRate);
oeService.AddEntity<OSalesOrderLine>(neworderline);
Here is the propreties maping for this model:
[OpenErpMap("sale.order.line")]
public class OSalesOrderLine : BaseNopModel
{
[OpenErpMap("name")]
public string name
{
get;
set;
}
[OpenErpMap("order_id")]
public int orderId
{
get;
set;
}
[OpenErpMap("price_unit")]
public double priceunit
{
get;
set;
}
[OpenErpMap("price_subtotal")]
public double priceSubTotal
{
get;
set;
}
[OpenErpMap("product_uom_qty")]
public double productUomQty
{
get;
set;
}
[OpenErpMap("tax_id")]
public int[] taxId
{
get;
set;
}
[OpenErpMap("id")]
public int id { get; set; }
[OpenErpMap("product_id")]
public int productid { get; set; }
}
I'm adding here the sniffed XML from actual code
<?xml version="1.0"?>
<methodCall>
<methodName>execute</methodName>
<params>
<param>
<value>
<string>database</string>
</value>
</param>
<param>
<value>
<i4>1</i4>
</value>
</param>
<param>
<value>
<string>password</string>
</value>
</param>
<param>
<value>
<string>sale.order.line</string>
</value>
</param>
<param>
<value>
<string>create</string>
</value>
</param>
<param>
<value>
<struct>
<member>
<name>name</name>
<value>
<string>product name</string>
</value>
</member>
<member>
<name>order_id</name>
<value>
<i4>65</i4>
</value>
</member>
<member>
<name>price_unit</name>
<value>
<double>1285</double>
</value>
</member>
<member>
<name>price_subtotal</name>
<value>
<double>0</double>
</value>
</member>
<member>
<name>product_uom_qty</name>
<value>
<double>2</double>
</value>
</member>
<member>
<name>product_id</name>
<value>
<i4>19</i4>
</value>
</member>
<member>
<name>tax_id</name>
<value>
<struct>
<member>
<name>Item1</name>
<value>
<i4>6</i4>
</value>
</member>
<member>
<name>Item2</name>
<value>
<i4>0</i4>
</value>
</member>
<member>
<name>Item3</name>
<value>
<array>
<data>
<value>
<i4>1</i4>
</value>
</data>
</array>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>