You have subscribed to a wiki page or wiki category on "xTuple" for change =
notification.

The "EnhancedTaxInternationalization" page has been changed by jrogelstad:

  =3D Overview =3D
  The existing Tax management system in xTuple 3.0 is designed to be flexib=
le to the extent that it can handle a variety of tax schemes where tax rate=
s and authorities vary from one product and ship to location to another. Ho=
wever, there are limitations in both the tax structure methodology and repo=
rting that make reporting difficult outside the United States without custo=
mization. The goal of this specification is to add in enough flexibility in=
tax functionality so that most international tax scenarios can be handled =
without major customization to the software.
  =

- Functional Requirements
+ =3D Functional Requirements =3D
- =

-  * It should be possible to associate unlimited tax codes in a tax assign=
ment.
+  * It should be possible to associate unlimited tax codes to a taxable it=
em.
-  * It should be possible for a tax assignment to include multiple tax aut=
horities.
+  * It should be possible for a the tax codes related to a taxable item to=
reference multiple tax authorities.
-  * It should be possible to define taxes in a tax assignment that are cal=
culated against the result of another tax calculation.
+  * It should be possible to define tax calculations that are calculated a=
gainst the result of another tax calculation (i.e. taxes on taxes).
-  * It should be possible to define tax assignments that calculate tax the=
sum of the base price and multiple other taxes.
+  * It should be possible to define tax assignments that calculate tax the=
cumulative sum of the base price item and an multiple other taxes.
   * Tax rates should have effective and expiration dates.
   * Tax rates should be able to be defined as percentages or fixed currenc=
y amounts.
   * Purchase Orders should support tax estimates at the line item level.
@@ -27, +26 @@

  =

  =3D=3D New Terms and Definitions =3D=3D
   . '''Tax Area'''
-   * A geographic are that has specific tax jurisdiction and tax assignmen=
ts.  Tax assignments are assigned on a tax area and tax type basis to deter=
mine what tax structure to apply to a given item.  Tax area will replace th=
e position of Tax authority on previous versions of xTuple.
+   * A geographic are that has specific tax jurisdiction and tax assignmen=
ts.  Tax assignments are assigned on a tax area and tax type basis to deter=
mine what tax structure to apply to a given item.  Tax area will replace th=
e position of tax authority in the tax structure on previous versions of xT=
uple.
   . '''Tax Assignments'''
    * Tax assignments map tax area and tax type combinations to tax codes. =
Formerly known as tax selections.
   . '''Tax Authority'''
-   * An organization to which collected taxes will be paid.  Formerly asso=
ciated with customers, vendors, shipto addresses and many document headers,=
tax authority will now be designated on specific tax assignments to allow =
for the possibility of multiple tax authorities being involved in a single =
transaction.
+   * An organization to which collected taxes will be paid.  Formerly asso=
ciated with customers, vendors, ship-to addresses and many document headers=
, tax authority will now be referenced on tax code assignments to allow for=
the possibility of multiple tax authorities being involved in a single tra=
nsaction.
   . '''Tax Class'''
-   * A list of user defined tax classes may be created that can be assigne=
d to tax codes.  It is primarily a grouping mechanism that can be used for =
reporting purposes.
+   * A list of user defined tax classes may be created that can be assigne=
d to tax codes.  It is primarily a grouping mechanism that can be used for =
reporting purposes such as summarized historical reporting and subtotaling =
on forms.
   . '''Tax Code'''
-   * A single tax item that specifies a G/L account mapping and tax rate. =
Formerly tax code contained 3 fixed tax items A, B and C with a single perc=
entage rate.
+   * A single tax item that specifies a G/L account mapping, tax rate and =
tax class. Formerly tax code contained 3 fixed tax items A, B and C with a =
single percentage rate.
   . '''Tax Rate'''
-   * A tax rate determines the amount of tax that a tax code collects. Tax=
rates have effective dates and many can be associated to one tax item. How=
ever, only one rate may be effective in any given date range.
+   * A tax rate determines the amount of tax that a tax code collects. Tax=
rates have effective and expire dates such that multiple rates can be asso=
ciated to one tax item. However, only one rate may be effective in any give=
n date range.
  =

  =3D=3D Related Existing Functionality =3D=3D
  The new functionality described in this document builds on existing funct=
ionality described in TaxBasics.
@@ -65, +64 @@

  =3D User-Level Functionality =3D
  The most glaring problem with the existing tax structure is that 3 tax el=
ements are hard coded into every tax code, and only one tax code may be ref=
erenced in a tax authority/type mapping and subsequent transaction. This cr=
eates two problems: 1) It limits the number tax elements to 3 per transacti=
on and 2) tax elements are not reusable. If there are two tax authorities t=
hat collect the same VAT but separate local taxes, and the VAT component is=
recorded as the "A" rate, the VAT component is not shared between codes. S=
o while the tax selections mapping system should ideally allow the flexibil=
ity to reduce the number of tax types and tax codes, the hard coding of the=
A, B, C fields all but ensures that tax codes will proliferate for every p=
ossible combination of tax, and that reporting on any specific element A, B=
, or C is both limited and fallible. The only way to ensure an accurate tot=
al for a give tax element is to rely on the G/L account mappings to record =
all transactions for a given tax. Consequently, there is no way to confiden=
tly report on supporting detail.
  =

- Tax codes will be altered so that each code has one and only one G/L mapp=
ing. The existing A, B, C structure will be broken up so that it is record =
based instead of field based, so an existing tax code that had A, B, and C =
percentages will be converted to three distinct tax code records. Tax selec=
tion mappings will be renamed "tax assignments" to more closely follow exis=
ting naming conventions such sales assignments, A/R assignments and price s=
chedule assignments. Tax assignments will allow the mapping of multiple tax=
codes to a tax authority and tax type pair. This will effectively allow ta=
x types and subsequent transactions to support as many tax codes and rates =
as are needed. It will also allow tax codes that are common throughout a gi=
ven country or region, such a VAT, to be reusable on many tax types thereby=
limiting the number of total tax codes required.
+ Tax codes will be altered so that each code has one and only one G/L mapp=
ing. The existing A, B, C structure will be broken up so that it is record =
based instead of field based, so an existing tax code that had A, B, and C =
percentages will be converted to three distinct tax code records. Tax selec=
tion mappings will be renamed "tax assignments" to more closely follow exis=
ting naming conventions such sales assignments, A/R assignments and price s=
chedule assignments. Tax assignments will allow the mapping of multiple tax=
codes to a tax authority and tax type pair. This will effectively allow ta=
x types and subsequent transactions to support as many tax codes and rates =
as are needed. It will also allow tax codes that are common throughout a gi=
ven country or region, such a VAT, to be reusable on many tax types thereby=
limiting the number of total tax codes required.  Tax code assignments wil=
l specify the base price of the item amount as the calculation basis or ano=
ther tax code that exists on the assignment list, which will allow for taxe=
s to be calculated against taxes.  In addition,it will be possible to speci=
fy cumulative taxes by adding existing taxes on tax assignment to a list of=
"Cumulative" taxes for another tax code.
+ =

+ A new reference table for tax classes will be created.  Tax classes will =
be associated with tax codes to be used for reporting purposes such as repo=
rt summarizations and subtotals on forms.
  =

  The ability to define tax rate effective and expire dates will be added t=
o tax code maintenance so that users may define effective and expiration da=
tes in much the same way they are defined for currency exchange rates. User=
s will also be able to define tax rates that are either a percentage or a f=
ixed currency amount.
  =

+ Another problem with the existing paradigm is it assumes only one tax aut=
hority per transaction, while in some countries a transaction may involve s=
everal tax authorities.  To handle this problem tax authority as it is used=
in xTuple 3.2.1 and earlier will be replaced by the term "tax area."  Tax =
authority will be re-implemented as a reference at the tax assignment level=
which will make tax authority primarily a vehicle for reporting, though it=
will still be possible to create checks for tax authorities.
+ =

+ Purchase orders will be modified to include the ability to specify a tax =
area at the header level, and populate tax information at the line item lev=
el essentially the same way sales orders do.  This tax information will car=
ry over to the voucher which will be modified to allow tax are at the heade=
r level and tax type selection at the line item level, both of which will b=
e populated by purchase order data.
+ =

- Voucher functionality will be extended include a designated tax authority=
at the header level and a new miscellaneous distribution of type "tax" whi=
ch may be selected along with a corresponding tax code. The tax code will b=
e referenced to determine the G/L account to debit for the amount specified.
+ Voucher functionality will also include new miscellaneous distribution of=
type "tax" which may be selected along with a corresponding tax code. The =
tax code will be referenced to determine the G/L account to debit for the a=
mount specified.
  =

+ A/R and A/P debit and credit memos will be modified to include the abilit=
y to specify a tax type.  When a tax type is selected, taxes with all suppo=
rting detail will be recorded on those documents.
+ =

- The sales tax summary report will be modified so that it may consolidate =
both taxes collected on sales and vouchering for a given code. The two amou=
nts will be netted to provide easy calculation of net VAT tax due for tax c=
odes that are VAT or have similar requirements to VAT. The summary report w=
ill provide an option to drill down to displays of supporting detail for bo=
th sales and purchasing tax data.
+ The sales tax summary report will be modified so that it may consolidate =
both taxes collected on sales and vouchering for a given code, tax type, ta=
x authority or tax class. The two amounts will be netted to provide easy ca=
lculation of net VAT tax due for tax codes that are VAT or have similar req=
uirements to VAT. The summary report will provide an option to drill down t=
o displays of supporting detail for both sales and purchasing tax data.
  =

  =3D=3D Window Changes =3D=3D
  =3D=3D=3D Tax Areas =3D=3D=3D
  A Tax Areas window will be created that lists tax areas located in the Ac=
counting > Tax menu.  New and edit buttons will open the Tax Area window in=
new and edit mode respectively.
+ =

+ {{attachment:taxAreas.png}}
+ =

  =3D=3D=3D Tax Area =3D=3D=3D
  A Tax Area window will be created to create and edit tax area records as =
pictured.  Tax Areas should be unique and blank entries should not be allow=
ed.
+ =

+ {{attachment:taxArea.png}}
+ =

  =3D=3D=3D Tax Classes =3D=3D=3D
  A Tax Class window will be created that lists tax areas located in the Ac=
counting > Tax menu.  New and edit buttons will open the Tax Class window i=
n new and edit mode respectively.
+ =

+ {{attachment:taxClasses.png}}
+ =

  =3D=3D=3D Tax Class =3D=3D=3D
  A Tax Class window will be created to create and edit tax area records as=
pictured.  Tax classes should be unique and blank entries should not be al=
lowed.
+ =

+ {{attachment:taxClass.png}}
+ =

  =3D=3D=3D Tax Assignments =3D=3D=3D
  The tax selections window will be renamed the tax assignements window as =
pictured. The filtering options will be expanded to include the ability to =
filter by tax type as well as tax authority.
  =