Introduction
If your organization files a GST/HST return with the Canada Revenue Agency (CRA), you are likely familiar with the standard lines on Form GST34 (the amounts you collect, the credits you claim, and the net tax you remit or recover). While most businesses complete the core required lines and submit, the CRA form also includes optional revenue classification lines (Lines 90, 91, and 102) that allow businesses to break down their total revenue into more specific categories. These lines are used by organizations that deal with a mix of supply types, such as:
- Standard taxable sales (e.g., most goods and services subject to GST/HST)
- Zero-rated supplies (e.g., basic groceries, prescription drugs, exports)
- Exempt supplies (e.g., residential rents, financial services)
- Other revenue (e.g., goodwill, sale of capital real property, supplies made outside Canada)
While these lines are optional for many businesses, some organizations, particularly those in financial services, real estate, or with cross-border operations, may need or choose to complete them.
This blog provides a comprehensive guide to configuring these three additional tax boxes to the standard Canada GST/HST DRC report using the DRC extensibility framework. The process does not require any ABAP development, as all steps are accomplished within the scope of Key User extensibility, thereby ensuring the system remains fully upgrade-safe.
Background: Standard Report Architecture
The standard Canada GST/HST report in SAP DRC is built on the following components:
|
Component |
Value |
|
Report Category (RC) |
CA_GST_HST_RITC_RETURN |
|
Report Definition (RD) |
CA_GST_REP_V2 |
The report relies on two key DRC queries:
1. BOX_SUMM: This query:
- Reads all posted tax documents and their tax box mappings
- Summarizes tax code values (tax amount and base amount) against their respective tax boxes
- Prepares source data for the following standard tax boxes: GST_101, GST_103, GST_104, GST_106, GST_107, GST_110, GST_111, GST_135, GST_136, GST_205, GST_405
2. DERIVED_FIELDS: This query applies formula-based calculations on top of the BOX_SUMM output, using ABAP class CL_FICA_VAT_ACR_DERIVEDFIELDS, method GST_REP
|
Derived Box |
Formula |
Description |
|
GST_105 |
GST_103 + GST_104 |
Total GST/HST collected and adjustments |
|
GST_108 |
GST_106 + GST_107 |
Total input tax credits and adjustments |
|
GST_109 |
GST_105 − GST_108 |
Net tax |
|
GST_112 |
GST_110 + GST_111 |
Total other credits |
|
GST_113A |
GST_109 − GST_112 |
Balance (refund or amount owing) |
|
GST_113B |
GST_205 + GST_405 |
Total other debits |
|
GST_114 / GST_115 |
Larger of GST_113A / GST_113B |
Refund or remittance line |
Note on DERIVED_FIELDS: No changes are required to the DERIVED_FIELDS query. Boxes 90, 91, and 102 are direct summary (source) boxes — their values are derived purely from tax code mappings and carry no formula dependency with other boxes. This significantly simplifies the extension.
What Needs to Change
To add support for tax boxes 090, 091, and 102, the following areas require configuration and extension:
-
Create new tax codes (if required)
- Tax box mapping
- DRC Query extension
- DRC Output schema extension
Step 1 — Create Tax Codes
Configure Your Solution → Finance → Tax on Sales/Purchases → Tax Codes → Define Tax Codes for Sales and Purchases (SSCUI 101016)
Create one tax code for each box: GST_090, GST_091, and GST_102. Use a consistent naming convention that clearly identifies the purpose of each code. Example names: S3 (→ GST_090), S4 (→ GST_091), S5 (→ GST_102).
|
Setting |
Value |
|
Country |
CA |
|
Tax Procedure |
TAXCAJ |
|
Tax Jurisdiction |
CA00 (Federal Level for GST) |
|
Account Key |
MWS (Output Tax) |
|
Tax Rate |
5% for taxable supplies (Line 90) | 0% for zero-rated (Line 91) | Confirm with tax team for Line 102 |
Tax Rate Note: The correct rate depends on how your organization uses these boxes. For zero-rated supply classification (Line 91), use 0%. For standard taxable supply reporting (Line 90), use the applicable GST rate (5%) or HST rate (13%–15% depending on province). For Line 102 (other revenue types such as capital real property or financial services), consult your tax team. Using the wrong rate will cause incorrect calculations on posted documents.
Fig 1 — Tax code creation: Country CA, Jurisdiction CA00, Tax Procedure TAXCAJ
Fig 2 — Tax Rates: Account Key MWS, 5% rate
Step 2 — Configure Tax Box Mapping
Configure Your Solution → Finance → Statutory Reporting → Country/Region-Specific Settings → Canada → Generating GST/HST Report → Maintain Tax Box Structures (SSCUI 102273)
Select Tax Box Structure Type: 1 (GST/HST).
2a — Tax Groups
Add entries for GST_090, GST_091, and GST_102, assigning the new tax codes (S3/S4/S5) with account key MWS.
Fig 3 — Tax Groups: GST_090 → S3 MWS, GST_091 → S4 MWS, GST_102 → S5 MWS
Tax Rate Note: Update Box 101 (mandatory — do not skip). Add tax codes S3, S4, and S5 to the existing Box 101 tax group mapping. Boxes 090, 091, 102 are detail lines; their amounts must roll up into the mandatory Line 101 total. Skipping this will understate total revenue on the CRA return.
2b — Tax Boxes
Add entries for 090, 091, and 102. Set Tax Box OT = Tax Base (these are revenue classification lines, not tax amount lines. This distinguishes them from Lines 103/104, which carry Tax Amount.
Fig 4 — Tax Boxes: GST_090, GST_091, GST_102 with Tax Base output type
2c — Assign Tax Groups to Tax Boxes
One-to-one assignment: GST_090 → GST_090, GST_091 → GST_091, GST_102 → GST_102.
Fig 5 — Assignment table: new tax groups mapped to their tax boxes
Step 3 — Extend the Report Definition
Fiori App: Define Statutory Reports
- Select Report Category CA_GST_HST_RITC_RETURN / Report Definition CA_GST_REP_V2
- Click Extend → provide a new report definition name (e.g., ZCA_GSTBOX9091)
All subsequent steps are performed inside the extended report definition. CA_GST_REP_V2 is never modified.
Fig 6 — Extending CA_GST_REP_V2 to ZCA_GSTBOX9091 in Define Statutory Reports
Step 4 — Add Conditions to BOX_SUMM Query
Within the extended report definition → BOX_SUMM query → Conditions tab.
|
Field |
GST_090 |
GST_091 |
GST_102 |
|
Condition ID |
GST_090 |
GST_091 |
GST_102 |
|
Field |
TaxBox |
TaxBox |
TaxBox |
|
Type |
Literal |
Literal |
Literal |
|
Value |
GST_090 |
GST_091 |
GST_102 |
Fig 7 — BOX_SUMM Conditions: GST_090, GST_091, GST_102 added alongside existing conditions
Fig 8 — Condition definition for GST_090: TaxBox / Literal / GST_090
Step 5 — Update DRC Output Schema
5a — Export schema from CA_GST_RITC_DOC
Open the standard document CA_GST_RITC_DOC → click Export Schema to download CA_GST_DOC-CA_GST.XSD.
Fig 9 — CA_GST_RITC_DOC: Export Schema entry point
Fig 10 — Export Schema button
5b — Edit the XSD
Insert three new xs:element entries — DEBITS_BOX_090, DEBITS_BOX_091, DEBITS_BOX_102 — after DEBITS_REBATES_405 and before DEBITS_BALANCE_113B. Use type=”WERTV12″ matching the existing element pattern.
Fig 11 — Original XSD: insertion point after DEBITS_REBATES_405
Fig 12 — Updated XSD: three new elements added
5c — Create a new ALV document and import the schema
In the extended report definition: create a new Document (type: ALV) → import the updated XSD.
Fig 13 — New ALV document: Edit Schema dialog with updated schema imported
5d — Map new elements to BOX_SUM
Map each new schema element using the settings below. The condition filter determines which tax box condition to read from the extended BOX_SUMM query (BOX_SUM).
|
Schema Element |
Data Source |
Corresponding Value |
Condition |
|
DEBITS_BOX_090 |
Query Column |
BOX_SUM-CALCULATEDTAXBASEAMTINRPTGCRCY |
GST_090 |
|
DEBITS_BOX_091 |
Query Column |
BOX_SUM-CALCULATEDTAXBASEAMTINRPTGCRCY |
GST_091 |
|
DEBITS_BOX_102 |
Query Column |
BOX_SUM-CALCULATEDTAXBASEAMTINRPTGCRCY |
GST_102 |
Fig 14 — Mapping table: three new elements with Query Column data source
Fig 15 — Select Query: BOX_SUM selected as data source
Fig 16 — Completed mapping: all three boxes mapped to BOX_SUM-CALCULATEDTAXBASEAMTINRPTGCRCY
Fig 17 — Condition assignment for DEBITS_BOX_090 → GST_090
Fig 18 — Condition list: GST_090 → Box90, GST_091 → Box091, GST_102 → Box102
Step 6 — Assign and Activate
- Assign the extended report definition to RC CA_GST_HST_RITC_RETURN
- Assign the reporting category to the reporting entity/company code
Run the report in the Run Reports Fiori app to validate.
Fig 19 — Final report preview: Tax Box 90 shows 1,904.76, confirming correct end-to-end configuration
Troubleshooting
|
Symptom |
Likely Cause |
Fix |
|
Boxes 090/091/102 show zero |
Tax codes not mapped in VG_CUST / SSCUI 102273, or wrong codes used on postings |
Verify tax group mapping; check posted documents for the correct tax code |
|
Line 101 understated |
New tax codes not added to Box 101 mapping (Step 2d skipped) |
Add S3/S4/S5 to Box 101 tax group; re-run report |
|
New lines not visible in the output |
XSD not imported, elements missing, or wrong report definition assigned |
Re-import updated XSD; verify reporting entity assignment |
|
BOX_SUMM field error on run |
GST_090/091/102 conditions missing or contain a typo (case-sensitive) |
Check the Conditions tab in the BOX_SUMM query in the extended report definition |
|
Extension missing after transport/promotion |
XSD was not manually re-imported into the target system |
Manually import the updated XSD in each target system |
|
SSCUI 102273 not visible (PCE only) |
User lacks the Key User role, or the Finance configuration scope is not active |
Confirm SAP_BR_BPC_EXPERT role and Finance scope in Configure Your Solution |
|
Double-counting on return |
Existing tax codes inadvertently mapped to new boxes |
Ensure only S3/S4/S5 are assigned to boxes 090/091/102 in VG_CUST / SSCUI 102273 |



