← Back to team overview

openerp-community team mailing list archive

Re: Multiple fiscal positions on partners

 

*Lorenzo Battistini*

could you drop some comments on this from an italian perspective? I hope to
fetch best practices from around the world!
I've seen you've done quite a bit of coding in your localization, but on
the other hand there are some modules rediliy available...

- Fiscal Classification
- Fiscal Position
- Fiscal Position Rule

Whith some amendemnds this could serve your case quite generically... But
maybe we're missing something.

*Mille Grazie*

David


 ----------------------
*David Arnold B.A. HSG*
*Gerente*

+57 315 304 1368
david@xxxxxxxxxxx
www.elaleman.co

​El Alemán S.A.S, Carrera 13 # 93 - 40 P4, Bogotá D.C, Colombia


2014-06-02 14:01 GMT-05:00 David Arnold - El Alemán <david@xxxxxxxxxxx>:

> +1 for gustavo... Let's not be sheeps.. ;) (http://goo.gl/UISRs5)
>
>
> ----------------------
> *David Arnold B.A. HSG*
> *Gerente*
>
> +57 315 304 1368
> david@xxxxxxxxxxx
> www.elaleman.co
>
> ​El Alemán S.A.S, Carrera 13 # 93 - 40 P4, Bogotá D.C, Colombia
>
>
> 2014-06-02 13:07 GMT-05:00 Gustavo Adrian Marino <gamarino@xxxxxxxxx>:
>
> I hope that what Odoo is going to present is the start of a community
>> discussion and not as usual what they decided we should think.
>>
>> We know how hard is to adapt the vision of OpenERP to the real needs we
>> face in our markets. Even if what they propose as new features is aligned
>> with our needs, v9 means we are talking about something 12/18 months ahead.
>> It is too far away for any real solution.
>>
>> We already know what to expect from OpenERP S.A. and v8. Let's work to
>> make our work a little bit easier. Do not expect too much from Odoo.
>>
>> A common criteria on taxes treatment is a desirable goal, and something
>> it could save us real work.
>>
>> Best regards
>>
>> Gustavo Adrian Marino
>>
>> Mobile: +54 911 5498 2515
>>
>> Email: gamarino@xxxxxxxxx
>>
>> Skype: gustavo.adrian.marino
>>
>>
>>
>>
>>
>>
>> 2014-06-02 14:42 GMT-03:00 David Arnold - El Alemán <david@xxxxxxxxxxx>:
>>
>>  So *please, anyone, *tag this conversation as relevant for such
>>> talks!!!! ;)
>>>
>>>
>>>  ----------------------
>>> *David Arnold B.A. HSG*
>>> *Gerente*
>>>
>>> +57 315 304 1368
>>> david@xxxxxxxxxxx
>>> www.elaleman.co
>>>
>>> ​El Alemán S.A.S, Carrera 13 # 93 - 40 P4, Bogotá D.C, Colombia
>>>
>>>
>>> 2014-06-02 12:09 GMT-05:00 Marcelo Bello <marcelo.bello@xxxxxxxxx>:
>>>
>>>  David, just a heads up, there is a focus on accounting and changes to
>>>> allow for greater tax flexibility for v9, I think on OpenDays there will be
>>>> a talk just on that. May be good to get to know how SA is thinking about
>>>> this.
>>>>  On 2 Jun 2014 12:54, "David Arnold - El Alemán" <david@xxxxxxxxxxx>
>>>> wrote:
>>>>
>>>>> To sum it up in a kind of to do list for Colombia tax project
>>>>> (containing additional items):
>>>>>
>>>>> - widen concept of fiscal position to be allocation (and not only
>>>>> replacement tables)
>>>>> - allow for n allocation tables, n product attributes and n partner
>>>>> attributes (ideally grouped around tax domains), which steer behaviour of
>>>>> fiscal position roules (tax controller)
>>>>> - reframe fiscal classification to match the requirements of being a n
>>>>> product attribute
>>>>> - prepare for generic granularity (now via individual XML reports) - >
>>>>> maybe pentaho integration
>>>>> - allow tax precision be independent of account precision (blame
>>>>> OpenERP SA R&D for not being able to solve this since 2011 despite several
>>>>> bug reports and fierce discussion)
>>>>> - allow tax chart queries for an individualized set of periods (not
>>>>> just one) - in case reporting periods differ on different concepts
>>>>>
>>>>> Anything to add? Further comments?
>>>>>
>>>>> *Best,* David
>>>>>
>>>>>
>>>>> ----------------------
>>>>> *David Arnold B.A. HSG*
>>>>> *Gerente*
>>>>>
>>>>> +57 315 304 1368
>>>>> david@xxxxxxxxxxx
>>>>> www.elaleman.co
>>>>>
>>>>> ​El Alemán S.A.S, Carrera 13 # 93 - 40 P4, Bogotá D.C, Colombia
>>>>>
>>>>>
>>>>> 2014-06-02 10:32 GMT-05:00 David Arnold - El Alemán <david@xxxxxxxxxxx
>>>>> >:
>>>>>
>>>>>> *Hello Marcelo, Hello Gustavo*
>>>>>>
>>>>>> I hope that at least during World Championship, Brazilian
>>>>>> accountants might find some spare time to watch some games... ;)
>>>>>>
>>>>>> I think the kind of flexibilzation proposed, could get you
>>>>>> generically covered on everything which are attributes of partners and
>>>>>> products. It is true that the invoice line itself, in other words: the
>>>>>> specific characteristics of a particular sale  (which are not attributed to
>>>>>> partner or product) are somewhat difficult.
>>>>>>
>>>>>> The Tax Include /Base Amount Include topic I also noticed. The *Core
>>>>>> here seems utterly buggy *afaik, Akretion completely overwrote it to
>>>>>> make it somewhat intelligent. See a pull request, i made recently: https://
>>>>>> github.com/odoo/odoo/pull/219
>>>>>> (I think I'm not the first one to notice, that bugs/pull requests are
>>>>>> handled very inefficiently at the moment? A perceived lack of
>>>>>> respect. Other projects do that way better. Hint!)
>>>>>>
>>>>>> I got the AHA moments. ;) I think probably the tax break logic can be
>>>>>> kind of a generic use case. In some countries of the world, there are a lot
>>>>>> of Free Trade Zones and probably special tax brakes. But I'm not sure, if
>>>>>> this should be calculated on the invoice or even line-item
>>>>>> granularity. My best guess is rather that it is more appropriate to account
>>>>>> for such situation at an accounting level.
>>>>>>
>>>>>> As to *Argentina* it seems, the that tax system is very parallel to
>>>>>> the Colombian one. I'm not sure about the "activity", because in fact this
>>>>>> is kind of an aggregate product classification. In case of Colombia
>>>>>> we are talking about CIIU (ISIC: http://unstats.un.org/unsd/cr
>>>>>> /registry/isic-4.asp), which can be mapped for example to product
>>>>>> classification CPC (http://unstats.un.org/unsd/cr/registry/regcst.asp?Cl=25&Lg=1).
>>>>>> So in fact "activity" refers to kind of a simplified product
>>>>>> classification, which is trying to cover the standard case, where
>>>>>> one company is dedicated to one or few activities. But caution! A
>>>>>> company can pursue multiple activities depending on the specific
>>>>>> product it is producing. So this way, the CIIU is a *product *
>>>>>>  attribute.
>>>>>>
>>>>>> I think as to the base done, we have great modules like Fiscal
>>>>>> Classification and Fiscal Position Rule available, however these
>>>>>> must be altered, to reflect an adaptable high level logic. (The ones
>>>>>> mentioned by Pedro and Raphael) Fiscal Position Rule already allows
>>>>>> for a logic depending on State, Country (all three: Issuer Address,
>>>>>> Delivery or Invoice Address) But what it does lack is to account for
>>>>>> other fiscal attributes of the partner and the product.
>>>>>>
>>>>>> On the partner side, there can be applied for example in the case of
>>>>>> the domain of a specific national tax a *retention *depending on
>>>>>> issuer *and * buyer characteristics. This actually is not an
>>>>>> available attribute in Fiscal Position Rule. On the other Hand, *fiscal
>>>>>> classification * is a module to provide tax-sets on products. If we
>>>>>> dismantle this concept, it comprises a classification + an actual
>>>>>> allocation (two in one). Additionally, it is single-dimension. So there is
>>>>>> only one possible classification available at the moment.
>>>>>>
>>>>>> The Brazilian localization from Akretion (credits!) tackle this
>>>>>> issues in a very country specific and "hard coded" way. But it's readily
>>>>>> available for *"genericalization" *If you think then the Fiscal
>>>>>> Position module as an extensible controller logic, you probably could cover
>>>>>> all Argentinian/Venezuelan/etc. tax cases.
>>>>>>
>>>>>> Such a common framework would then also be easier to adapt at those
>>>>>> Brazilian specialties (such that line order attributes are
>>>>>> important).
>>>>>>
>>>>>> I value your ideas, of abstracting taxes further. Actually when
>>>>>> having dinner yesterday with the localization team we ran about the idea of
>>>>>> an completely independent tax enginge with an API to provide for
>>>>>> south America's ERP, to outsource the headache of tax calculation to
>>>>>> a central company. (Hint for smart entrepreneurs!) There are some US
>>>>>> companies for a possible exit strategy on such a project. I think, such
>>>>>> ideas are probably outside the focus of OpenERP (I know, the culture
>>>>>> is somewhat let's copy/reinvent the wheel in some cases, but you probably
>>>>>> already know my opinion on that).
>>>>>>
>>>>>> However some aspects, I see, can be covered by the localization
>>>>>> *templates* (not the updating aspect). You can define tax accounts
>>>>>> on the general ledger an allocate taxes to, etc. To abstract this, I'm not
>>>>>> sure, if that wouldn't be too specific, as you would have map your accounts
>>>>>> to a set of tax-concepts (kind of tax api), but this set of concepts can be
>>>>>> very dynamic as per jurisdiction. So this mapping effort would have to be
>>>>>> done also in case of an update in the mapping structure.
>>>>>>
>>>>>> A side note on aggregating granularity to obtain tax statements: I
>>>>>> think that the Odoo way of displaying taxes (Chart of Taxes will in
>>>>>> the near future become deprecated as concepts such as XBRL (http://es
>>>>>> .wikipedia.org/wiki/XBRL) win ground. Basicially you take a xml-tag
>>>>>> of the official or national "taxonomy", then you define which data has to
>>>>>> be aggregated around that specific tag, then you file via XML to your
>>>>>> authorities) This granularity approach will certainly be necessary for a
>>>>>> lot of countries (also for statistical reporting, which can be tied
>>>>>> to taxes or not). So I think at least we wouldn't have to bother to much
>>>>>> about in which tax account to strategically allocate a tax
>>>>>> perspectively. (Maybe the whole concept of tax accounts will get
>>>>>> deprecated, as granularity advances, as it's basically replicated
>>>>>> information and a violation of the DRY principle)
>>>>>>
>>>>>> I think, it would be very helpful if you could publish your code on
>>>>>> github, in order to be able to analyze it and look for parallel
>>>>>> concepts. Maybe the multicompany-management approach can be
>>>>>> refactored as a compatible delta module in the future?
>>>>>>
>>>>>> The Colombian one lives at: https://github.com/odoo-colombia/odoo-
>>>>>> colombia
>>>>>>
>>>>>> @ Ana: Europe gratefully in't the sad standard of tax complexity. The
>>>>>> only tax retention to be known in Germany is in construction (as a sector
>>>>>> which has a lot of tax evasion).
>>>>>>
>>>>>> *Best,* David
>>>>>>
>>>>>>
>>>>>> ----------------------
>>>>>> *David Arnold B.A. HSG*
>>>>>> *Gerente*
>>>>>>
>>>>>> +57 315 304 1368
>>>>>> david@xxxxxxxxxxx
>>>>>> www.elaleman.co
>>>>>>
>>>>>> ​El Alemán S.A.S, Carrera 13 # 93 - 40 P4, Bogotá D.C, Colombia
>>>>>>
>>>>>>
>>>>>> 2014-06-02 9:11 GMT-05:00 Gustavo Adrian Marino <gamarino@xxxxxxxxx>:
>>>>>>
>>>>>> Let me add some considerations for Argentina: In our country is very
>>>>>>> clear that the taxes to be applied are dependant on:
>>>>>>>
>>>>>>>    - The issuer company, and the possibility to act as a retention
>>>>>>>    agent for some taxes
>>>>>>>    - The issuer activity
>>>>>>>    - The fiscal address: one set of taxes could be potentially
>>>>>>>    applied based on city, federal state and country
>>>>>>>    - The product
>>>>>>>    - The buyers activity
>>>>>>>    - The buyers fiscal address
>>>>>>>
>>>>>>> If you are trying to define a new way to treat taxes, for sure the
>>>>>>> idea of redefining the tax structure per company (as today in Odoo) and
>>>>>>> "fixing" via a simple table is simply not reflecting reality nor the common
>>>>>>> use pattern of any real customer
>>>>>>>
>>>>>>> I have started developing a module to redefine taxes accounts as
>>>>>>> properties per company and assigning a set of taxes to federal states and
>>>>>>> countries. This set of taxes should be applied depending on issuing
>>>>>>> companies fiscal federal_state and country.
>>>>>>>
>>>>>>> This arrangement allows us to deliver an incremental set of taxes
>>>>>>> covering first the country level and then federal state taxes as needed.
>>>>>>> This taxes could be configured AFTER the company account plan is set for
>>>>>>> the company set needed, and thus allowing to adapt the DB to changes in
>>>>>>> taxes without having to do manual editing on every company in the database.
>>>>>>>
>>>>>>> Of course a set of company specific taxes is also provided
>>>>>>>
>>>>>>> Additionally, due to the fact now taxes are global (not company
>>>>>>> specific), you can define taxes on products without be worried to point to
>>>>>>> the exact account on each company, and avoiding to rely on obscure access
>>>>>>> rules to manage taxes.
>>>>>>>
>>>>>>> Under the new scenario, accounts could be only visible to the
>>>>>>> company they are defined on, reflecting the fact they are strongly tied to
>>>>>>> company's account plan.
>>>>>>>
>>>>>>> Under this schema, the need of fiscal positions for customers is
>>>>>>> strongly reduced to some simple cases, reflecting just special cases for
>>>>>>> some customers, and thus using the simple standard approach is enough in
>>>>>>> most cases.
>>>>>>>
>>>>>>> The module is still not in production. If you think this approach
>>>>>>> could be used as a common strategy, I have no problem publishing it
>>>>>>>
>>>>>>> Best regards
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Gustavo Adrian Marino
>>>>>>>
>>>>>>> Mobile: +54 911 5498 2515
>>>>>>>
>>>>>>> Email: gamarino@xxxxxxxxx
>>>>>>>
>>>>>>> Skype: gustavo.adrian.marino
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2014-06-02 10:14 GMT-03:00 Marcelo Bello <marcelo.bello@xxxxxxxxx>:
>>>>>>>
>>>>>>> David, my 2cents as an user of the Brazilian localization (I am not
>>>>>>>> aware of all the technical challenges, I am just speaking from an end user
>>>>>>>> PoV).
>>>>>>>>
>>>>>>>>    The idea of an application instead of replacement table sounds
>>>>>>>> good to me. Usability-wise I always found strange that by default a product
>>>>>>>> would have dozens of taxes pre-applied to it only for most to be filtered
>>>>>>>> out later in the process. Again, I am sure there are design decisions to
>>>>>>>> justify that, but usability-wise it is not ideal.
>>>>>>>>
>>>>>>>>    Regarding what you say about the flexibility of the current
>>>>>>>> implementation, I agree with you that some pieces might be missing, but at
>>>>>>>> least in the context of the Brazilian tax legislation what you propose will
>>>>>>>> still not cover the full range of possibilities that need to be taken into
>>>>>>>> account.
>>>>>>>>
>>>>>>>>     At least in the case of Brazil, the taxation of a sale needs to
>>>>>>>> take into account information from:
>>>>>>>>
>>>>>>>> - The buyer/partner;
>>>>>>>>
>>>>>>>> - The product itself;
>>>>>>>>
>>>>>>>> - The seller (the company selling, in the case of a company with
>>>>>>>> multiple branches - like my company - this is extremely relevant because
>>>>>>>> some of my branches are on special trade zones which change the tax
>>>>>>>> calculation significantly);
>>>>>>>>
>>>>>>>> *- The order.line: *for example, a product in Brazil is taxed
>>>>>>>> differently depending on whether the buyer plans to resell the item or if
>>>>>>>> it is going to consume it (or add it to its assets).
>>>>>>>>
>>>>>>>> *- The product unit being sold* - yes, some pieces of legislation
>>>>>>>> requires us in Brazil to keep track of individual units so that they are
>>>>>>>> sold the same way they were bought. Sometimes this do not impact the tax
>>>>>>>> rate, but do impact the tax codes we need to use to fill eInvoicing,
>>>>>>>> sometimes it affects both. For instance, in Brazil if I buy an imported
>>>>>>>> product from a distributor, the goods I purchased from that distributor
>>>>>>>> will use a specific CST code, but if I import it myself I will have to sell
>>>>>>>> them with another CST code. In a few cases even the tax rate changes. For a
>>>>>>>> company like mine, we sometimes buy locally, sometimes import and this kind
>>>>>>>> of "lot-number-like" control is very difficult to handle without an ERP
>>>>>>>> system. Our localization still can't handle this.
>>>>>>>>
>>>>>>>>       Think about it and check if in your country you do not have
>>>>>>>> cases where you need info from order.line (or even just the order itself),
>>>>>>>> and/or if you need to do the lot-number-like tracking I mentioned in some
>>>>>>>> cases. Of course, these two last items account for a smaller % of total
>>>>>>>> transactions in my country, but they are relevant for a large number of
>>>>>>>> organizations (they happen often enough that one wishes it were handled by
>>>>>>>> their ERP system).
>>>>>>>>
>>>>>>>> *A few more things to consider before you get your hands dirt:*
>>>>>>>>
>>>>>>>> - As far as I know, today the tax calculation does not work well as
>>>>>>>> an independent tax-engine. Therefore, it is hard to make Odoo provide the
>>>>>>>> sales agent a table like the one below (showing taxes as a function of sale
>>>>>>>> location). This is useful for companies that are trying to optimize their
>>>>>>>> taxation, avoiding taxes when possible. Companies usually achieve this by
>>>>>>>> setting up factories or branches in special tax locations so it is
>>>>>>>> interesting if the system can be made easy to offer tax simulations like I
>>>>>>>> show in the table below, so that a sales agent can place the order in the
>>>>>>>> best possible way.
>>>>>>>>
>>>>>>>>              Product Cost     Tax A     Tax B     Tax C        Total
>>>>>>>>
>>>>>>>> Location A       X              X         X         X            X
>>>>>>>>
>>>>>>>> Location B       X              X         X         X            X
>>>>>>>>
>>>>>>>> - At least in Brazil, taxes have an hierarchy. Taxes must be
>>>>>>>> calculated on top of a base value. Such base value sometimes is the value
>>>>>>>> of the goods being sold but sometimes, for some taxes, it is the value of
>>>>>>>> the goods PLUS the value of another tax (so tax applies over other tax, in
>>>>>>>> cascading style). Maybe this is an exclusivity of the crazy Brazilian tax
>>>>>>>> legislation, maybe not, but one needs to consider it for the tax engine to
>>>>>>>> work well.
>>>>>>>>
>>>>>>>> - Taxes may or may not be part of the product price. In Brazil
>>>>>>>> usually the price list is inclusive of some taxes so the total price to be
>>>>>>>> paid by the client will not change if some taxes (that are included in the
>>>>>>>> price) change;
>>>>>>>>
>>>>>>>> - It would be wise if the system had three fields for each tax rate:
>>>>>>>> (a) tax_rate_for_display: the tax rate % used for display purposes;
>>>>>>>> (b) tax_rate_for_invoice_calculation: the tax rate % used for
>>>>>>>> calculating the tax used for invoicing;
>>>>>>>> (c) tax_rate_for_effective_payment: the tax rate % that will
>>>>>>>> actually be paid to the government
>>>>>>>>
>>>>>>>>         Usually a=b=c, but not ALWAYS!
>>>>>>>>
>>>>>>>> (b) is for when you have a tax that is not applied in the usual
>>>>>>>> TAX_AMOUNT=BASE_VALUE*TAX_RATE way. Hence you need to convert the way the
>>>>>>>> tax must actually be calculated so that it will work when calculated in the
>>>>>>>> standard TAX_AMOUNT=BASE_VALUE*TAX_RATE. We have one such case in Brazil,
>>>>>>>> where the tax called ICMS must be calculated in a way that the tax_rate is
>>>>>>>> applied over the value of the goods PLUS the value of the ICMS tax itself!
>>>>>>>> Yes, the tax applies over itself (this is usually the AHA moment, when
>>>>>>>> foreigners realize how fucked up our tax system is in Brazil). So ICMS has
>>>>>>>> a tax rate of 25%,18%,17%,12%,7%,4% or 0% depending on a number of
>>>>>>>> variables. When you need to print the tax rate applied you must write 18%,
>>>>>>>> but the tax rate you actually use to calculate the tax is given by the
>>>>>>>> formula TAX_AMOUNT = BASE_VALUE * [1/(1-TAX_RATE)-1]. Hence the need for
>>>>>>>> the field (b) tax_rate_for_invoice_calculation, one would write (a) = 0.18,
>>>>>>>> (b) = 0.21951219512 in this example.
>>>>>>>>
>>>>>>>> (c) is for when a company has a tax incentive that is not reflected
>>>>>>>> on the invoices (which is very often in Brazil). So for instance, I may
>>>>>>>> have a tax break and instead of paying 10% tax I effectively pay only 5%.
>>>>>>>> But the government still requires me to issue my eInvoices with the 10%
>>>>>>>> rate like everyone else and I am given a rebate at the end of the month. So
>>>>>>>> for accounting purposes, in this example we would have (b) = 0.10, (c)
>>>>>>>> =0.05.
>>>>>>>>
>>>>>>>>         So one can actually have a situation where all three fields
>>>>>>>> are different. Not sure you have a similar case in Colombia.
>>>>>>>>
>>>>>>>>         I wanted to point out all these use cases so that if there
>>>>>>>> is a coordinated effort to standardize across the "tax calculation engine"
>>>>>>>> some of these items could be taken into account (not all of them I am
>>>>>>>> sure).
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>>
>>>>>>>> Marcelo
>>>>>>>> On 2 Jun 2014 02:54, "David Arnold - El Alemán" <david@xxxxxxxxxxx>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> *Hello Raphael*
>>>>>>>>>
>>>>>>>>> we are going forth with Colombia following your example.
>>>>>>>>>
>>>>>>>>> At this stage I already can make my comments on the logic of the
>>>>>>>>> mentioned set of modules, as they do not (yet) solve our problem, as
>>>>>>>>> initially stated.
>>>>>>>>>
>>>>>>>>> Lets rename some of the concepts as mapped hereafter for better
>>>>>>>>> understanding (speaking names at the right abstraction level):
>>>>>>>>> fiscal position = replecement set (this is historically, but
>>>>>>>>> wrongly, directly attached to the partner, because it can be equally
>>>>>>>>> dependent on product caracteristics)
>>>>>>>>> fiscal classification = fiscal attribute of product
>>>>>>>>> fiscal position rule = replacement table controller
>>>>>>>>>
>>>>>>>>> So what we are missing, and what you missed in barzilian
>>>>>>>>> localization is a custom "fiscal attribute of partner", which then is taken
>>>>>>>>> by the "replacement table controller" and funneled into the application of
>>>>>>>>> a "replecement set" in the very moment that all relvant factors (fiscal
>>>>>>>>> attributes of product, and fiscal attributes of partner) are available.
>>>>>>>>>
>>>>>>>>> So we would have:
>>>>>>>>> "replacement sets", which are controlled by the "replacement table
>>>>>>>>> controller", which draws on "fiscal attributes of products" and "fiscal
>>>>>>>>> attributes of partners" to determin the application of such sets.
>>>>>>>>>
>>>>>>>>> Now given, that in south american countries there are various
>>>>>>>>> fiscal concepts which - in the case of colombia - amount to 8 different
>>>>>>>>> taxation concepts on a product (retentions included). This being said, in
>>>>>>>>> the world of a one dimensional application of attributes (product and
>>>>>>>>> partner) and sets, this actually amounts to the statistical combination of
>>>>>>>>> cases in each concept (tax) domain. Lets say illustratively
>>>>>>>>> 5x2x4x5x12x5x8=96000 combinations. This is not the way to go! What we need
>>>>>>>>> therefore is a flexibilisation by using the already built in tax domain
>>>>>>>>> concept to gather taxes arround a specific domain - say VAT.
>>>>>>>>>
>>>>>>>>> So the idea is, that partner and product each get an attribute per
>>>>>>>>> every domain. (So if there are 8 domains, a partner or a product can have 8
>>>>>>>>> respective attributes) And that each set of attributes is processed by the
>>>>>>>>> replacement table controller to allocate a flexible set of replacement
>>>>>>>>> tables, which are executed according to a specified sequence.
>>>>>>>>>
>>>>>>>>> Even the creation of Tax domains, and the definition of domain
>>>>>>>>> items in the respective tables should be dynamic, allowing for further
>>>>>>>>> flexibilisation.
>>>>>>>>>
>>>>>>>>> I think even some concepts of brazilian tax structure have some
>>>>>>>>> more generic cousins that you might have thought at the time of
>>>>>>>>> programming. (but honestly, that's just an educated guess)
>>>>>>>>>
>>>>>>>>> As leagel requirements in many jurisdiction, I think this should
>>>>>>>>> go into core as "advanced taxes" some day...
>>>>>>>>>
>>>>>>>>> *How is the situation in Thailand about those topics? Seems that
>>>>>>>>> Thailand is quite similar to Colombia.*
>>>>>>>>>
>>>>>>>>> *Nhomar,* have you checked the brazilian concepts? Might there be
>>>>>>>>> room for convergence with venezuela and mexico? (maybe appling the above
>>>>>>>>> said)
>>>>>>>>>
>>>>>>>>> When we start to override, where should we merge the generic
>>>>>>>>> portions of code? I'd like to see that built in into the relevant Akretion
>>>>>>>>> modules...
>>>>>>>>>
>>>>>>>>> *Best*, David
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ----------------------
>>>>>>>>> *David Arnold B.A. HSG*
>>>>>>>>> *Gerente*
>>>>>>>>>
>>>>>>>>> +57 315 304 1368
>>>>>>>>> david@xxxxxxxxxxx
>>>>>>>>> www.elaleman.co
>>>>>>>>>
>>>>>>>>> ​El Alemán S.A.S, Carrera 13 # 93 - 40 P4, Bogotá D.C, Colombia
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2014-05-29 9:10 GMT-05:00 Raphael Valyi <rvalyi@xxxxxxxxx>:
>>>>>>>>>
>>>>>>>>>> Hello David,
>>>>>>>>>>
>>>>>>>>>> double check but this OCA project may help you:
>>>>>>>>>> https://launchpad.net/openerp-fiscal-rules
>>>>>>>>>> And this is how we override it for Brazil for instance:
>>>>>>>>>>
>>>>>>>>>> https://github.com/openerpbrasil/l10n_br_core/blob/develop/l10n_br_account/account_fiscal_position_rule.py
>>>>>>>>>>
>>>>>>>>>> as far as I know this is also used in international commerce in
>>>>>>>>>> Europe, in Canada and may be Italy or Spain.
>>>>>>>>>>
>>>>>>>>>> The idea is that the partner don't carry the fiscal position
>>>>>>>>>> anymore exactly but instead we have that extensible intermediary flat
>>>>>>>>>> decision table that will determine, depending on many extensible parameters
>>>>>>>>>> (countries, states, fiscal types etc..) which fiscal position will apply
>>>>>>>>>> exactly. That table can be large eventually.
>>>>>>>>>>
>>>>>>>>>> I think there is room to improve thee compatibility of these
>>>>>>>>>> module for v8 using the new OCA web_context_tunnel module to avoid creating
>>>>>>>>>> signature incompatibilities with existing on_changes until the new API will
>>>>>>>>>> be used everywhere in the addons (probably v9 only).
>>>>>>>>>>
>>>>>>>>>> Please let us know if these modules can help you.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Regards.
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Raphaël Valyi
>>>>>>>>>> Founder and consultant
>>>>>>>>>> http://twitter.com/rvalyi <http://twitter.com/#!/rvalyi>
>>>>>>>>>> +55 21 3942-2434
>>>>>>>>>> www.akretion.com
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Thu, May 29, 2014 at 9:50 AM, David Arnold - El Alemán <
>>>>>>>>>> david@xxxxxxxxxxx> wrote:
>>>>>>>>>>
>>>>>>>>>>> *Hello Fellows*
>>>>>>>>>>>
>>>>>>>>>>>  in Colombia we (some) are trying to adapt to local legislations
>>>>>>>>>>> by following a concept of introducing multiple fiscal positions per
>>>>>>>>>>> parnter. This sould only involve quite minimal code change, maybe same
>>>>>>>>>>> 30-50 lines of code in total...
>>>>>>>>>>>
>>>>>>>>>>> The idea is to cluster fiscal positions under certain domains
>>>>>>>>>>> (such as one tax1, tax2, tax3, tax4, tax5, etc.) and to be able to assing
>>>>>>>>>>> to a partner an infinite number of fiscal postiones ordered by domains.
>>>>>>>>>>>
>>>>>>>>>>> If we don't introduce this multidimensionality of fiscal
>>>>>>>>>>> postitons, we would have to multiply out (is this the corect term?) the
>>>>>>>>>>> matrix and get some 5x5x5x5 (=4 domains with 5 cases each) fiscal
>>>>>>>>>>> positions... Not cool.
>>>>>>>>>>>
>>>>>>>>>>> Would this be a feature eligible for core aknowledging it's very
>>>>>>>>>>> small code impact (using existing concepts) and its usefullness in more
>>>>>>>>>>> complicated jurisdictions worldwide?
>>>>>>>>>>>
>>>>>>>>>>> Point two, is there some kind of classification flield on
>>>>>>>>>>> product known, which can serve to prepare for granularity when it comes to
>>>>>>>>>>> concepts such as BI and XBRL. We would like to link taxes and reporting
>>>>>>>>>>> requirements to such product classification fields here in colombia. (there
>>>>>>>>>>> are about 5000-6000 thousend different concepts of municipality tax,
>>>>>>>>>>> differing from municipality to municipality - which are based on such a
>>>>>>>>>>> product - or "activity " - classification)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> *Freundliche Grüsse*
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  ----------------------
>>>>>>>>>>> *David Arnold B.A. HSG*
>>>>>>>>>>> *Gerente*
>>>>>>>>>>>
>>>>>>>>>>> +57 315 304 1368
>>>>>>>>>>> david@xxxxxxxxxxx
>>>>>>>>>>> www.elaleman.co
>>>>>>>>>>>
>>>>>>>>>>> ​El Alemán S.A.S, Carrera 13 # 93 - 40 P4, Bogotá D.C, Colombia
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Mailing list: https://launchpad.net/~openerp-community
>>>>>>>>>>> Post to     : openerp-community@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>>> Unsubscribe : https://launchpad.net/~openerp-community
>>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Mailing list: https://launchpad.net/~openerp-community
>>>>>>>>> Post to     : openerp-community@xxxxxxxxxxxxxxxxxxx
>>>>>>>>> Unsubscribe : https://launchpad.net/~openerp-community
>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Mailing list: https://launchpad.net/~openerp-community
>>>>>>>> Post to     : openerp-community@xxxxxxxxxxxxxxxxxxx
>>>>>>>> Unsubscribe : https://launchpad.net/~openerp-community
>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>
>>
>

Follow ups

References