Implementing GTM
An automated setup program uses your Canadian tax definitions to create most of the codes required to implement GTM. Before executing this program, understand the options it provides and the default logic it uses.
Code Generation Rules
GTM codes for tax types, tax zones, and tax environments consist of text strings that uniquely identify the province, county, and city of a tax jurisdiction. In Canada, there are thousands of these codes; setting them up manually would be a tedious process.
Therefore, by default, CAN to GTM–Setup generates codes based on its code generation rules (
Code Generation Rules in CAN to GTM-Setup (2.13.22.9)). These rules systematically select characters from the province code, county name, and city name in the tax master.
Code Generation Rules in CAN to GTM-Setup (2.13.22.9)
To determine if generated codes are suitable for your company, run the setup and review the audit trail. If you need a different coding scheme, read the rest of this section and change the settings for the code generation rules as necessary. Then, rerun the setup with Delete Previous GTM set to Yes and Convert Tax Masters set to Yes.
For Canadian taxes, the default generated code format for tax zones, tax types, and tax environments is:
PPP-CCCC-ccccccc
PPP is the 3-character province code, CCCC the 4-character county or district name, and ccccccc the 7-character city name. A dash (–) separates each text string.
The rules used to determine the characters to select depends on:
• If the Canadian code or name used to generate the text string consists of one word or multiple words (blank spaces separate text strings)
• If separator characters are used
Code Generation Rules in CAN to GTM–Setup (2.13.22.9) lists the default number of characters for each text string under the different conditions. However, you can change the number of characters and use a different separator or no separator. You can do so as long as the total number of generated characters—including the separator and any ending integers—is 16 or less.
Code Generation Rules in CAN to GTM–Setup (2.13.22.9)
| | | Multiple Words |
| One Word | Word 1 | Word 2 |
Code | Sep | No Sep | Sep | No Sep | Sep | No Sep |
Province | 3 | 3 | 3 | 3 | 0 | 0 |
County | 4 | 4 | 2 | 2 | 2 | 2 |
City | 7 | 9 | 4 | 5 | 3 | 4 |
Maximum Total Characters, With Separator | | 14 |
Maximum Total Characters, Without Separator | | 16 |
Example: If the original province code for Alberta is ALBA, the generated text string is ALB regardless of whether separators are used. For the city of Southampton, the generated text string is Southam if separators are used and Southampt if they are not. For the city of Thunder Bay, the generated text string is ThunBay if separators are used and ThundBay if they are not.
Setup retains the capitalization from the original Canadian code or name. If the original code or name contains punctuation such as a period, the code generation rules treat it the same as any other non-blank character.
Defining Custom Tax Class and Tax Usage Codes
By default, the setup generates tax classes that directly correspond to your Canadian GST master records. To distinguish the two sets of codes, it appends the letter P to the GST + PST code. For example, if your current GST classes are 0, 1, and 2, the generated GTM classes are 0, 1, and 2 (for GST only) and 0P, 1P, and 2P (for GST + PST). The system does not automatically generate tax usages.
You can override this behavior by creating your own map for the setup program and specifying it in the Class File field. The same class file is also referenced in the programs that convert master data and transaction records.
Class File in CAN to GTM–Setup (2.13.22.9)
Create a class file if:
• Your company plans to change its tax class codes during the GTM conversion. In this situation, you define custom codes for GST only and GST + PST.
• Within a tax class, a company can be taxed based on its nature of operation or the way it intends to use an item. Tax usage codes identify these conditions in GTM.
The class file is an ASCII file with text strings in the following format:
“Current GST Class” “GST Class” “GST Usage” “Class for GST + PST” “Usage for GST + PST”
GTM tax classes can have a maximum of three characters, and tax usage codes eight characters. A null string (“ ” or “”) represents an unused value.
The class file can have any name or extension. However, commas instead of blank characters separate code values in .csv files. Place the file in the home directory for the Progress session. A .csv file is a Windows comma-separated value file format that saves recorded values in a spreadsheet.
Example: Your current GST codes are 0, 1, and 2, and you want to change them to A, B, and C, plus add a G to indicate GST only.
“0” “AG” “” “A” “”
“1” “BG” “” “B” “”
“2” “CG” “” “C” “”
Defining Custom Codes for Provinces, Counties, and Cities
The generated codes for tax zones, tax environments, and tax types consist of text strings that identify the province, county, and city. By default, the code generation rules define the structure of these text strings. However, if you need a different naming convention, you can create geographic files for province codes, county names, and/or city names.
Create a separate file for each kind of text string and reference the file in CAN to GTM–Setup as shown in
Province, County, and City Files in CAN to GTM–Setup (2.13.22.9).
Province, County, and City Files in CAN to GTM–Setup (2.13.22.9)
Note: You only define codes for conditions that the code generation rules do not support.
A geographic file is the same as a class file, except that it uses the format:
“Current Code or Name” “GTM Text String”
Example: To map province codes for the provinces of Manitoba and Quebec, create a province file with these lines:
“MANI” “MB”
“QUE” “QB”
Processing Logic
This program creates eB2.1 and later records as described in
New GTM Records.
New GTM Records
Type of Record | Explanation |
Tax zones | Based on code generation rules or a class file, setup builds the tax zone hierarchy for the country and all province/county/city combinations used in your current system. |
Tax types | Based on code generation rules or a class file, setup generates tax types for the province/county/city combinations used in your current system. |
Tax environments | Based on code generation rules or a class file, setup generates tax environments for all ship-to tax zones. |
Tax rates | Based on code generation rules or a class file, setup generates tax rates for the tax jurisdictions and percentages used in your current system. |
Tax classes | By default, the setup generates tax classes based on your Canadian GST master records, in which GST and PST are represented as separate codes. However, the GTM setup generates tax classes for GST only and GST + PST. It sets up PST only as GST + PST with a GST tax rate of 0%. It sets up non-taxable as GST only with GST and PST tax rates of 0%. To distinguish the generated codes, the setup appends the letter P to the GST + PST code. For example, if your current GST classes are 0, 1, and 2, the generated GTM classes are 0, 1, and 2 (for GST only) and 0P, 1P, and 2P (for GST + PST). The system does not automatically generate tax usages. |
Tax usages | By default, setup does not generate tax usages. However, you can generate tax usages with a class file. |
Country code | The setup generates a record for the default country code you specify when you run the setup. This country code is the top-level zone in the tax zone hierarchy. |
Company addresses and address list types | In GTM, company sites require a corresponding company address record because address, not site, calculates taxes. The setup verifies that each company site has an address record and creates any missing ones, along with any needed address list type records. The setup also creates a ~taxes address record to provide a default tax address whenever a transaction is missing a company site code. |
GTM Control Settings
Setup defines Global Tax Management Control (2.13.24) as described in
Updates to GTM Control Settings.
Updates to GTM Control Settings
Field | Explanation |
Country Code | As specified during the setup |
Tax Method | 01 |
Tax-By-Line | No |
Accrue Tax at Receipt | Yes |
Discount Tax at Invoice | No |
Discount Tax at Payment | No |
Last Tax Code | As specified during the setup |
Rounding Method | Value specified in System/Account Control (36.1) |
CAN to GTM–Setup
Based on your implementation decisions, use CAN to GTM–Setup (2.13.22.9) to set up GTM for Canadian tax processing.
CAN to GTM–Setup (2.13.22.9)
Warning As noted previously, the purpose of the conversion is to replicate your existing tax processing setup in GTM. Do not attempt to implement new GTM functionality until after the entire conversion is complete. Do not change settings in the new GTM records or in Global Tax Management Control (2.13.24). If you do, the master and/or transaction conversions could fail.
Delete Previous GTM
This option determines whether the setup deletes previously created GTM records from the database. If you select this option, the setup deletes tax zones, tax types, tax environments, transaction tax details, and other GTM records from the database.
• Enter No if you have not yet converted your database to GTM.
• Enter Yes to clean up the database if it contains GTM records from unsuccessful conversion or installation attempts.
Convert Tax Masters
This option determines whether the setup generates the GTM master records from the master tables for Canadian GST and PST.
• Enter Yes to create GTM records corresponding to Canadian tax masters: tax classes, tax types, tax zones, tax environments, tax rates, and so on. The audit trail shows the new GTM records.
• Enter No if you only want to delete previous GTM records and do not want the setup program to generate new GTM records.
Country Code
This country code is the top-level tax zone in the tax zone hierarchy. All other tax zones sum into this one.
If Global Tax Management Control already has a country code, it displays here. Otherwise, the setup sets the default country code to CAN. If you override the value here, the setup assigns it to the control program.
Last Tax Code
Enter a value to update the corresponding field in Global Tax Management Control. In GTM, tax codes identify individual tax rates. Codes are generated sequentially based on the value of Last Tax Code in the GTM control program.
The default Last Tax Code is an 8-character value that consists of the GTM country code and a right-justified integer with placeholder zeros. For example, for country code CAN, the default Last Tax Code is CAN00000. The system assigns the number CAN00001 to the first tax rate record created in GTM and increments this number for subsequent rates.
If you want tax codes to have a different format, enter a different prefix. Codes display alphanumerically in screens and reports. Tax codes that are numeric are left justified and have no placeholder zeros. For example, codes 1 through 30 display in a report column as follows:
1
...
19
2
20
...
30
Generated Separator
Enter a character to use as a separator in system-generated tax zones, types, and environments. Using a separator can improve the readability of the component elements of these codes.
The default separator is the dash (–), but you can enter any character. A sample GTM code that uses the dash separator is BC–Van for Vancouver, British Columbia. If you do not want to use separators in codes, enter blank. However, you cannot use blank as a separator character.
Class File
To provide custom mapping of Canadian tax classes to GTM classes and usage codes, specify an ASCII file with conversion information.
Province, County, City File
To override default code generation rules, specify specific values for geographic locations in an ASCII file.
Code Generation Rules
Enter appropriate values for your organization.
Display Status
This setting determines whether the system displays status messages online during the conversion. These messages list database tables and their indexes as they are converted. If you select this option, messages display on the screen and the printed report.
Updates to Company Addresses
In GTM, company sites require a corresponding company address record because taxes are calculated using address, not site. The setup creates any missing company address records for company sites. However, the setup does not populate these new address records with the city, county, province, and country. Supply this information manually in Company Address Maintenance (2.12).
If the setup did not generate codes for these tax jurisdictions, you must set up tax zone codes to support these new addresses. Do the setup in Tax Zone Maintenance (2.13.3.13). Then, assign the tax zone to the address.
Set Up Audit Trail
CAN to GTM–Setup prints a report of updated tax master records for GST and PST rates. For GST rates, the report shows the GST class, description, starting and ending effective dates, the GST percent, and the general ledger tax accounts for accounts payable and accounts receivable. For PST, the report shows the province/county/city, tax effective date, tax rate for the effective date, whether PST is based on GST, and the generated GTM tax zone and sums-into zone.
GST Audit Trail and
PST Audit Trail show the audit trail formats.
GST Audit Trail
PST Audit Trail
Troubleshooting GTM Setup
After you run CAN to GTM–Setup, verify that the GTM setup is correct before you continue with the conversion. The errors listed in
Troubleshooting the GTM Setup can cause issues or unexpected values. Before proceeding to the master conversion, review the audit trail, the GTM reports for the new records, and Global Tax Management Control settings, and correct any errors.
Subsequent setups do not automatically overwrite records that previous ones created. To set up new records, first delete the old ones. If you rerun the setup, remove the records the earlier setup attempt created. Rerun the setup with Delete Previous GTM set to Yes and Convert Tax Masters set to Yes.
Note: If you must rerun the setup after you have run any of the other conversion programs, restore the database first. Then, rerun the setup and any other conversion programs you ran previously. This action is necessary to perpetuate changes to master data, transactions, and tax details.
Troubleshooting the GTM Setup
Error | Explanation |
Tax system must be Canadian. | The CAN to GTM setup can only be run on a Canadian tax system. |
Must delete previous GTM when converting. | When you set Convert Tax Masters to Yes, also set Delete Previous GTM to Yes. |
On GST has changed, cannot convert prior to this date. | The setup can only convert the current tax environment, not previous variations. If a city’s GST Only status changed in the span of time included in the conversion, the setup creates tax environments only for current conditions. |
Warning Do not correct records programmatically. This approach often causes additional problems.
How the Setup Changes GTM Records
The following is a technical description of how the setup updates the database.
The menu-level program for CAN to GTM–Setup is txcancnv.p. This program calls subprograms (primarily txcantax.p) that set the GTM tax values in the individual database tables.
Changes to GTM Records lists the affected database tables and summarizes the changes.
Changes to GTM Records
Tables | Summary of Changes |
Address Master (ad_mstr) | txcantax.p creates one ~taxes record for the database. It also scans si_mstr and creates an address record for any company site that does not already have one. |
Generalized Code Master (code_mstr) | For each vt_mstr record, txcantax.p creates tax classes for GST only and GST + PST. If a class file is referenced, it creates the specified tax classes and tax usages, if any. For the GST rate in vt_mstr and each PST rate in tax_mstr, txcantax.p creates a tax type code. For non-taxable transactions, it also creates a default NON-TAX tax type. Finally, for each ship-to tax zone, txcantax.p creates a tax environment and assigns it the tax types associated with the tax zone. |
Country Master (ctry_mstr) | txcantax.p creates a record for the default country code specified in the selection data. |
Address List Detail (ls_mstr) | txcantax.p creates ls_mstr record for each new ad_mstr record, if any. |
Tax Master (tx2_mstr) | For each vt_mstr record, txcantax.p creates a tax rate for GST only and GST + PST. For each tax_mstr record, txcantax.p creates multiple tx2_mstr records, one for each combination of (1) GST only and GST + PST and (2) each GST class. (For example, if there are three GST classes, the setup generates six tx2_mstr records.) It also runs txtx2_nt.i to create a non-taxable tax rate and txtxmeth.i to create tax method 01. |
Tax Control (txc_ctrl) | txcantax.p sets txc_ctry_code and txc_tax_code from the selection data. It sets txc_method to 01, txc_by_line to Yes, txc_inv_disc and txc_pmt_disc to No, and txc_rcpt_tax_point to Yes. |
Tax Base Detail (txbd_det) | txcantax.p creates a tax base record for PST + GST. |
Tax Environment Master (txe_mstr) | txcantax.p creates tax environment zone detail records for every tax environment code it generates for code_mstr. |
Tax Environment Detail (txed_det) | txcantax.p creates tax environment tax type detail records for every tax environment code it generates for code_mstr. |
Tax Zone Master (txz_mstr) | txcantax.p creates a top level sums-into tax zone for the new ctry_mstr record. For each province/county/city combination in tax_mstr, it creates a ship-to tax zone. |