Most Powerful Open Source ERP

Tax Discount And Other Cases

Use cases for Taxes, Discounts, Commissions and similar interfaces.
  • Last Update:2016-05-16
  • Version:001
  • Language:en

Use cases for Taxes, Discounts, Commissions and similar interfaces.

Table of Contents

  • Tax as a stamp
  • Date changing Tax rate
  • Tax Inclusive
  • Tax rate Invoice price depended
  • Tax rate sum of Invoices price depended
  • Splitting with different taxes
  • Manual Tax divergence solving
  • Builder updating invoice
  • Line added to packing list
  • Two orders with same resource, distinct vat rate
  • Related Articles

    Tax as a stamp

    There is need to put stamp on every invoice. This stamp is bought in Inland Revenue, and this is "document tax".

    This tax is not related to price, quantity, amount of sold resources. It is document depended.

    Example Every stamp is 1€

    Order

    • Line ressource A price 10 quantity 1
    • Line Resource B price 3 quantity 2
    • Tax Line Resource StampTax price 1 quantity 1 (added manually, no base_application?)

    Invoice

    • Line ressource A price 10 quantity 1
    • Line Resource B price 3 quantity 2
    • Tax Line Resource StampTax price 1 quantity 1 (from simulation)

    but when it is split:

    Order

    • Line ressource A price 10 quantity 1
    • Line Resource B price 3 quantity 2
    • Tax Line Resource StampTax price 1 quantity 1 (added manually, no base_application?)

    Invoice A

    • Line ressource A price 10 quantity 1
    • Tax Line Resource StampTax price 1 quantity 1 (from simulation)

    Invoice B

    • Line Resource B price 3 quantity 2
    • Tax Line Resource StampTax price 1 quantity 1

    Tax Line in invoice B comes from nothing. It might be added manualy, but it shall come from simulation.

    Date changing Tax rate

    Situation:

    • zulutime = 2009/01/01
    • t < zulutime: tax rate = 17%
    • t >= zulutime: tax rate = 19%
    • this is correctly defined on t < zulutime

    Possibilities:

    • Order dates < zulutime, invoice dates < zulutime - no problem, use 17%
    • Order dates >= zulutime, invoice dates >= zulutime - no problem, use 19%
    • Order dates < zulutime, invoice dates >= zulutime - case A
    • Initially order dates < zulutime, invoice dates < zulutime, invoice dates changed to >= zulutime, case B

    For Case A there is possible to use Simulation and properly configured rules.

    For Case A, after accepting decision to simulation, Tax Line movements shall diverge by its vat ratio.

    Tax Inclusive

    Look at Tax Inclusive System for more discussion.

    This is not implemented yet price system in ERP5, but shall be supported by such interface.

    Notes:

    • might be (or not?) solved by negative tax rate + script to solve rounding issues

    Tax rate Invoice price depended

    For Invoice with total_price <= 5000 €: Tax Rate 12% For Invoice with total_price > 5000 €: Tax Rate 15%

    Notes:

    • some place (predicate, price depended tax value?) to define
    • and proper choose

    Tax rate sum of Invoices price depended

    Example condition:

    • sum of started sale invoice transactions <= 100 000 €: Tax Rate 9%
    • sum of started sale invoice transactions > 100 000 €: Tax Rate 11%

    Notes:

    • might require recalculation of all invoices
    • OR logic, to be sure, that for invoice n, where n is last before limit, n+1 will use tax rate

    Splitting with different taxes

    Case 1:

    • Sale Order 1
      • Sale Order Line 1 Resource A Tax 3%
      • Sale Order Line 2 Resource B Tax 5%

    Case 2:

    • Sale Order 1
      • Sale Order Line 1 Resource A Tax 3%
    • Sale Order 2
      • Sale Order Line 2 Resource B Tax 5%

    Case 1 & Case 2 produce:

    • Invoice 1
      • Invoice Line 1 Resource A Tax 3%
      • Invoice Line 2 Resource B Tax 5%

    Notes:

    • how support splitting

    Manual Tax divergence solving

    If trade condition is correctly defined, than tax is correct, so no tax related changes have to be done on Invoice.

    Case of wrong Purchase Invoice Transaction from supplier:

    • Purchase Order price 100€ VAT rate 10% VAT amount 10€
    • Purchase Invoice Transaction price 100€ VAT rate 10% VAT amount 10€

    Notes:

    • there have to be possibility of changing VAT rate and updating simulation with new value (no new divergence shall appear)
    • similar problem with "not so perfect system" which gathers many Purchase Orders from supplier into one invoice

    Builder updating invoice

    Phase 1:

    • Sale Order 1
      • Sale Order Line 1 Resource A price 10 € Tax 10%

    Invoice 1 generated, system configured to support merging.

    • Sale Order 2
      • Sale Order Line 2 Resource B price 12 € Tax 10 %

    Invoice 1 updated.

    Taxes are equal.

    Notes:

    • only builder configuration

    Line added to packing list

    New line with taxable resource added to packing list

    --

    if you consider the packing list is just about saying "I moved this from here to there", you don't care about taxes yet and it's on the invoice that this has to be done. -jerome

    Two orders with same resource, distinct vat rate

    Order 1

    • Resource A price 10 quantity 10 TAX: 10%, base_contribution/base_amount/tax/normal

    Order 2

    • Resource A price 10 quantity 20 TAX: 5%, base_contribution/base_amount/tax/reduced

    Both orders' movements are merged at Invoice. Wanted behaviour: Invoice:

    • Invoice Line 1 Resource A price 10 quantity 10 base_contribution/base_amount/tax/normal
    • Tax Line 1 TAX: 10% base_application/base_amount/tax/normal
    • Invoice Line 2 Resource A price 10 quantity 20 base_contribution/base_amount/tax/reduced
    • Tax Line 2 TAX: 5% base_application/base_amount/tax/reduced

    Same shall apply if there would be one order with such lines.

    -- There is a category movement group for base_contribution at cell / line level on invoice builder -jerome

    Related Articles