I am not familiar with VAT so I can not comment on the best way to approach this for VAT. For USA our Tax Authority is based on Government (IRS) which I guess is similar to VAT But not on Items but gross profit at the end of the fiscal year. In manufacturing you can not charge off the deduction of the piece manufactured till the piece is sold. Under this scenario the calculations are done during the manufacturing process and is additive, then assigned to IRIS ledger..
The Tax authority for Sales is based on Geo with separate Tax authorities. Like State, County, city. These are compounded So Adjustments are complex in computations. I bring this up so that the model that is used will accommodate all Tax Authority scenarios. This was not a simple effort when we did it so I don't think a discussion would be simple. Maybe a Wiki page would be appropriate to come up with a viable design. biletnikov sent the following on 12/4/2011 9:17 AM: > In my opinion, TaxAuthorityRateAdjustment can not relate to > TaxAuthorityRateProduct, because these entities are responsible for > different taxing scopes : Product and Adjustment. > > *TaxAuthorityRateAdjustment* has relation to : > > - > TAXAUTHORITY<https://demo-trunk.ofbiz.apache.org/webtools/control/FindGeneric?entityName=TaxAuthority&find=true&VIEW_SIZE=50&VIEW_INDEX=0> > - > TAXAUTHORITYRATETYPE<https://demo-trunk.ofbiz.apache.org/webtools/control/FindGeneric?entityName=TaxAuthorityRateType&find=true&VIEW_SIZE=50&VIEW_INDEX=0> > - > PRODUCTSTORE<https://demo-trunk.ofbiz.apache.org/webtools/control/FindGeneric?entityName=ProductStore&find=true&VIEW_SIZE=50&VIEW_INDEX=0> > > > Product or adjustment can be items in each order and it is reasonable to > have the ability for each item being taxed, as I said that is very actual > for VAT style calculation. > > These TaxAuthorityRateAdjustment and TaxAuthorityRateProduct will exist in > parallel, but TaxAuthorityRateProduct is oriented on product store and > product categories, but TaxAuthorityRateAdjustment operates with product > store and adjustment types! > > The tax computation should be carried out in this order: > > - Read the appropriate tax authority rates > - Calculate product taxes > - Calculate adjustment taxes > - Sum these adjustments > > > On Sat, Dec 3, 2011 at 8:57 PM, BJ Freeman [via OFBiz] < > [email protected]> wrote: > >> how does this relate to >> >> https://demo-trunk.ofbiz.apache.org/webtools/control/ViewRelations?entityName=TaxAuthorityRateProduct >> Order Adustements >> an >> return Adjustments >> >> biletnikov sent the following on 12/3/2011 1:26 AM: >> >>> In general, we manage tax calculation for products and adjustments (only >> for >>> shipping and promotions). >>> As we have TaxAuthorityRateProduct in OFBiz to manage the taxing of >>> products, so why not to have the same system for adjustments? >>> I propose the solution to have the TaxAuthorityRateAdjustment entity, >> who is >>> related in similar order to TaxAuthority. >>> TaxAuthorityRateAdjustment will have the following fields: >>> >>> *Tax type* (Sales Tax, etc) >>> *Store ID* >>> *Catetgory* (empty category means all categories) >>> Title Transfer ??? (I do not know, what can you suggest?) >>> Min Item Pirce ??? (I do not know, what can you suggest?) >>> Min Purchase Price ???? (I do not know, what can you suggest?) >>> *Tax Percentage * >>> *From Date * >>> *Thru Date* >>> *Description* >>> >>> The settings will be placed in the separate tab near to "Product rates" >> (Tax >>> Authority settings). >>> The UI is very similar! >>> >>> RE: TaxAuthorityRateAdjustment >>> we should retire >>> *Tax Shipping* >>> *Tax Promotions* >>> because they look more like a hack. >>> >>> >>> The tax calculation service must be reworked, >>> >>> <service name="calcTax" engine="java" >>> location="org.ofbiz.accounting.tax.TaxAuthorityServices" >>> invoke="rateProductTaxCalc"> >>> <description>Tax Authority Rate Product Calc >> Service</description> >>> <implements service="calcTaxInterface"/> >>> </service> >>> >>> <service name="calcTaxInterface" engine="interface" location="" >>> invoke=""> >>> <description>Tax Calc Service Interface</description> >>> <attribute name="productStoreId" type="String" mode="IN" >>> optional="true"></attribute> >>> <attribute name="facilityId" type="String" mode="IN" >>> optional="true"></attribute> >>> <attribute name="payToPartyId" type="String" mode="IN" >>> optional="true"/> >>> <attribute name="billToPartyId" type="String" mode="IN" >>> optional="true"></attribute> >>> <attribute name="itemProductList" type="java.util.List" mode="IN" >>> optional="false"></attribute> >>> <attribute name="itemAmountList" type="java.util.List" mode="IN" >>> optional="false"></attribute> >>> <attribute name="itemPriceList" type="java.util.List" mode="IN" >>> optional="false"></attribute> >>> <attribute name="itemQuantityList" type="java.util.List" >> mode="IN" >>> optional="true"></attribute> >>> <attribute name="itemShippingList" type="java.util.List" >> mode="IN" >>> optional="true"></attribute> >>> * <attribute name="orderShippingAmount" type="BigDecimal" >> mode="IN" >>> optional="true"/> >>> <attribute name="orderPromotionsAmount" type="BigDecimal" >> mode="IN" >>> optional="true"/> >>> * <attribute name="shippingAddress" >>> type="org.ofbiz.entity.GenericValue" mode="IN" optional="true"/> >>> <attribute name="orderAdjustments" type="java.util.List" >> mode="OUT" >>> optional="false"></attribute> >>> <attribute name="itemAdjustments" type="java.util.List" >> mode="OUT" >>> optional="false"></attribute> >>> </service> >>> >>> This interface must have /OrderAdjustment/ list as IN parameter. >>> >>> That is my draft solution. >>> What do you think about this? >>> >>> -- >>> View this message in context: >> http://ofbiz.135035.n4.nabble.com/Tax-calculation-for-all-order-adjustments-tp4119597p4152813.html >>> Sent from the OFBiz - User mailing list archive at Nabble.com. >>> >> >> >> ------------------------------ >> If you reply to this email, your message will be added to the discussion >> below: >> >> http://ofbiz.135035.n4.nabble.com/Tax-calculation-for-all-order-adjustments-tp4119597p4154077.html >> To unsubscribe from Tax calculation for all order adjustments, click >> here<http://ofbiz.135035.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4119597&code=YmlsZXRuaWtvdkBnbWFpbC5jb218NDExOTU5N3wyMDcwNzk3NDQ4> >> . >> NAML<http://ofbiz.135035.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.InstantMailNamespace&breadcrumbs=instant+emails%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> >> > > >
