# 6. Tax Configuration — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: tax_configuration.md — every feature, sub-feature, and rule covered

---

## Test Execution Policy
- Zero tolerance: any deviation from documented behavior = FAILED = bug
- Every bug is immediately logged/reported (Bug ID, feature, sub-feature,
  expected vs actual, severity) and fixed 100% before the group passes
- Feature group passes only at 100% test pass rate

## Coverage Matrix
| Feature | Sub-feature / Rule | Test IDs |
|---------|--------------------|----------|
| 6.1 Tax Calculation (GST, VAT) | Tax type: the type (the GST, the VAT) | TC-SA-12-06-001 |
| 6.1 Tax Calculation (GST, VAT) | Tax rate: the rate (the tax rate, e.g., 18%) | TC-SA-12-06-002 |
| 6.1 Tax Calculation (GST, VAT) | Tax base: the base (the price the tax is applied to) | TC-SA-12-06-003 |
| 6.1 Tax Calculation (GST, VAT) | Tax calculation: the calculation (the tax base, the tax rate, the tax amount) | TC-SA-12-06-004 |
| 6.1 Tax Calculation (GST, VAT) | Rule definition: the rules (the type, the rate, the base) | TC-SA-12-06-005 |
| 6.1 Tax Calculation (GST, VAT) | Tax application: the tax applied (the tax is added to the price) | TC-SA-12-06-006 |
| 6.1 Tax Calculation (GST, VAT) | Audit logging of the tax rules and the applications | TC-SA-12-06-007 |
| 6.1 Tax Calculation (GST, VAT) | Rule: the tax type is the GST or the VAT; the type is the tax | TC-SA-12-06-001 |
| 6.1 Tax Calculation (GST, VAT) | Rule: the tax rate is the percentage (e.g., 18%); the rate is the basis | TC-SA-12-06-002 |
| 6.1 Tax Calculation (GST, VAT) | Rule: the tax base is the price the tax is applied to; the base is the scope | TC-SA-12-06-003 |
| 6.1 Tax Calculation (GST, VAT) | Rule: a rule change (a tax rule updated) is recorded (the new type, the new rate, the new base, the time); it is auditable | TC-SA-12-06-005 |
| 6.1 Tax Calculation (GST, VAT) | Rule: the tax rules are visible (the type, the rate, the base); the tax calculation is managed | TC-SA-12-06-008 |
| 6.1 Tax Calculation (GST, VAT) | Rule: tax rules and applications are audit-logged with the tax type, rate, and timestamp | TC-SA-12-06-007 |
| 6.2 Tax Rules per Region | Regional tax rule: the rule per region (the region, the tax type, the tax rate) | TC-SA-12-06-009 |
| 6.2 Tax Rules per Region | Region scope: the scope (the region, the tax rules) | TC-SA-12-06-010 |
| 6.2 Tax Rules per Region | Regional tax calculation: the calculation (the region's tax type, the region's tax rate, the tax amount) | TC-SA-12-06-011 |
| 6.2 Tax Rules per Region | Rule definition: the rules (the region, the type, the rate) | TC-SA-12-06-012 |
| 6.2 Tax Rules per Region | Tax application: the tax applied (the region's tax is added to the price) | TC-SA-12-06-013 |
| 6.2 Tax Rules per Region | Tax record: the tax recorded (the region, the tax type, the tax rate, the tax amount) | TC-SA-12-06-014 |
| 6.2 Tax Rules per Region | Audit logging of the regional tax rules and the applications | TC-SA-12-06-015 |
| 6.2 Tax Rules per Region | Rule: the regional tax rule is per region (the region, the tax type, the tax rate); the rule is explicit per region | TC-SA-12-06-009 |
| 6.2 Tax Rules per Region | Rule: the region scope is the region and the tax rules; the scope is the region | TC-SA-12-06-010 |
| 6.2 Tax Rules per Region | Rule: the regional tax calculation is explicit (the region's tax type, the region's tax rate, the tax amount); the calculation is the tax | TC-SA-12-06-011 |
| 6.2 Tax Rules per Region | Rule: a rule change (a region's tax rule updated) is recorded (the new type, the new rate, the time); it is auditable | TC-SA-12-06-012 |
| 6.2 Tax Rules per Region | Rule: the regional tax rules are visible (the regions, the types, the rates); the regional tax is managed | TC-SA-12-06-016 |
| 6.2 Tax Rules per Region | Rule: regional tax rules and applications are audit-logged with the region, tax type, and timestamp | TC-SA-12-06-015 |

## 6.1 Tax Calculation (GST, VAT)

### TC-SA-12-06-001 — Tax type: the type (the GST, the VAT); the type is the tax
**Type:** Positive
**Covers:** 6.1 → Tax type: the type (the GST, the VAT); Rule: the tax type is the GST or the VAT; the type is the tax
**Preconditions:** The Super Admin opens the tax configuration.
**Steps:**
1. Open the tax type.
2. Verify the tax type is the GST or the VAT.
3. Verify the type is the tax applied to the price.
**Expected Result:** The tax type is the GST or the VAT — the type is the tax.
**Priority:** Critical

### TC-SA-12-06-002 — Tax rate: the rate (the tax rate, e.g., 18%); the rate is the basis
**Type:** Positive
**Covers:** 6.1 → Tax rate: the rate (the tax rate, e.g., 18%); Rule: the tax rate is the percentage (e.g., 18%); the rate is the basis
**Preconditions:** The tax type is set.
**Steps:**
1. Open the tax rate.
2. Verify the tax rate is the percentage (e.g., 18%).
3. Verify the rate is the basis for the tax calculation.
**Expected Result:** The tax rate is the percentage (e.g., 18%) — the rate is the basis.
**Priority:** Critical

### TC-SA-12-06-003 — Tax base: the base (the price the tax is applied to); the base is the scope
**Type:** Positive
**Covers:** 6.1 → Tax base: the base (the price the tax is applied to); Rule: the tax base is the price the tax is applied to; the base is the scope
**Preconditions:** The tax type and rate are set.
**Steps:**
1. Open the tax base.
2. Verify the tax base is the price the tax is applied to.
3. Verify the base is the scope of the tax calculation.
**Expected Result:** The tax base is the price the tax is applied to — the base is the scope.
**Priority:** High

### TC-SA-12-06-004 — Tax calculation: the calculation (the tax base, the tax rate, the tax amount); the calculation is the tax
**Type:** Positive
**Covers:** 6.1 → Tax calculation: the calculation (the tax base, the tax rate, the tax amount)
**Preconditions:** The tax type, rate, and base are set.
**Steps:**
1. Open the tax calculation.
2. Verify it shows the tax base, the tax rate, and the tax amount.
3. Verify the tax amount = the tax base × the tax rate (the calculation is explicit).
**Expected Result:** The tax calculation is explicit — the tax base, the tax rate, and the tax amount are shown and correct.
**Priority:** Critical

### TC-SA-12-06-005 — Rule definition: the rules (the type, the rate, the base); a rule change is recorded and auditable
**Type:** Positive
**Covers:** 6.1 → Rule definition: the rules (the type, the rate, the base); Rule: a rule change (a tax rule updated) is recorded (the new type, the new rate, the new base, the time); it is auditable
**Preconditions:** The tax rules are defined (the type, the rate, the base).
**Steps:**
1. Open the tax rules and verify the type, the rate, and the base are defined.
2. Change a tax rule (the new type, the new rate, the new base, the time).
3. Verify the change is recorded and auditable.
**Expected Result:** The tax rules are defined (the type, the rate, the base) — a rule change is recorded and auditable.
**Priority:** High

### TC-SA-12-06-006 — Tax application: the tax applied (the tax is added to the price)
**Type:** Positive
**Covers:** 6.1 → Tax application: the tax applied (the tax is added to the price)
**Preconditions:** The tax rules are live.
**Steps:**
1. As a learner, view the price at checkout.
2. Verify the tax is added to the price (the tax applied).
3. Verify the total = the price + the tax amount.
**Expected Result:** The tax is applied — the tax is added to the price.
**Priority:** Critical

### TC-SA-12-06-007 — Tax rules and applications are audit-logged with the tax type, rate, and timestamp
**Type:** Positive
**Covers:** 6.1 → Audit logging of the tax rules and the applications; Rule: tax rules and applications are audit-logged with the tax type, rate, and timestamp
**Preconditions:** Tax rule and application events have occurred.
**Steps:**
1. Open the audit trail and filter by "tax".
2. Verify entries show the tax type, the rate, and the timestamp.
**Expected Result:** The tax rules and applications are audit-logged with the tax type, rate, and timestamp.
**Priority:** Critical

### TC-SA-12-06-008 — The tax rules are visible (the type, the rate, the base); the tax calculation is managed
**Type:** Positive
**Covers:** 6.1 → Rule: the tax rules are visible (the type, the rate, the base); the tax calculation is managed
**Preconditions:** The tax rules are defined.
**Steps:**
1. Open the tax rules view.
2. Verify the type, the rate, and the base are visible.
3. Verify the tax calculation is managed.
**Expected Result:** The tax rules are visible — the type, the rate, and the base are shown.
**Priority:** Medium

## 6.2 Tax Rules per Region

### TC-SA-12-06-009 — Regional tax rule: the rule per region (the region, the tax type, the tax rate); the rule is explicit per region
**Type:** Positive
**Covers:** 6.2 → Regional tax rule: the rule per region (the region, the tax type, the tax rate); Rule: the regional tax rule is per region; the rule is explicit per region
**Preconditions:** The Super Admin opens the tax configuration.
**Steps:**
1. Define the regional tax rule: the region, the tax type, and the tax rate.
2. Save the rule.
3. Verify the regional tax rule is live and explicit per region.
**Expected Result:** The regional tax rule is defined (the region, the tax type, the tax rate) — the rule is explicit per region.
**Priority:** Critical

### TC-SA-12-06-010 — Region scope: the scope (the region, the tax rules); the scope is the region
**Type:** Positive
**Covers:** 6.2 → Region scope: the scope (the region, the tax rules); Rule: the region scope is the region and the tax rules; the scope is the region
**Preconditions:** A regional tax rule is defined.
**Steps:**
1. Open the region scope for the rule.
2. Verify the scope is the region and the tax rules.
3. Verify the scope is the region.
**Expected Result:** The region scope is the region and the tax rules — the scope is the region.
**Priority:** High

### TC-SA-12-06-011 — Regional tax calculation: the calculation (the region's tax type, the region's tax rate, the tax amount); the calculation is the tax
**Type:** Positive
**Covers:** 6.2 → Regional tax calculation: the calculation (the region's tax type, the region's tax rate, the tax amount); Rule: the regional tax calculation is explicit (the region's tax type, the region's tax rate, the tax amount); the calculation is the tax
**Preconditions:** A regional tax rule is defined.
**Steps:**
1. Open the regional tax calculation for the region.
2. Verify it shows the region's tax type, the region's tax rate, and the tax amount.
3. Verify the tax amount = the tax base × the region's tax rate (the calculation is explicit).
**Expected Result:** The regional tax calculation is explicit — the region's tax type, the region's tax rate, and the tax amount are shown and correct.
**Priority:** Critical

### TC-SA-12-06-012 — Rule definition: the rules (the region, the type, the rate); a rule change is recorded and auditable
**Type:** Positive
**Covers:** 6.2 → Rule definition: the rules (the region, the type, the rate); Rule: a rule change (a region's tax rule updated) is recorded (the new type, the new rate, the time); it is auditable
**Preconditions:** The regional tax rules are defined (the region, the type, the rate).
**Steps:**
1. Open the regional tax rules and verify the region, the type, and the rate are defined.
2. Change a region's tax rule (the new type, the new rate, the time).
3. Verify the change is recorded and auditable.
**Expected Result:** The regional tax rules are defined (the region, the type, the rate) — a rule change is recorded and auditable.
**Priority:** High

### TC-SA-12-06-013 — Tax application: the tax applied (the region's tax is added to the price)
**Type:** Positive
**Covers:** 6.2 → Tax application: the tax applied (the region's tax is added to the price)
**Preconditions:** The regional tax rules are live.
**Steps:**
1. As a learner in a region, view the price at checkout.
2. Verify the region's tax is added to the price (the regional tax applied).
3. Verify the total = the price + the region's tax amount.
**Expected Result:** The tax is applied — the region's tax is added to the price.
**Priority:** Critical

### TC-SA-12-06-014 — Tax record: the tax recorded (the region, the tax type, the tax rate, the tax amount); the record is the proof
**Type:** Positive
**Covers:** 6.2 → Tax record: the tax recorded (the region, the tax type, the tax rate, the tax amount)
**Preconditions:** A regional tax has been applied to a purchase.
**Steps:**
1. Open the tax record.
2. Verify it shows the region, the tax type, the tax rate, and the tax amount.
**Expected Result:** The tax is recorded — the region, the tax type, the tax rate, and the tax amount are shown.
**Priority:** High

### TC-SA-12-06-015 — Regional tax rules and applications are audit-logged with the region, tax type, and timestamp
**Type:** Positive
**Covers:** 6.2 → Audit logging of the regional tax rules and the applications; Rule: regional tax rules and applications are audit-logged with the region, tax type, and timestamp
**Preconditions:** Regional tax rule and application events have occurred.
**Steps:**
1. Open the audit trail and filter by "regional tax".
2. Verify entries show the region, the tax type, and the timestamp.
**Expected Result:** The regional tax rules and applications are audit-logged with the region, tax type, and timestamp.
**Priority:** Critical

### TC-SA-12-06-016 — The regional tax rules are visible (the regions, the types, the rates); the regional tax is managed
**Type:** Positive
**Covers:** 6.2 → Rule: the regional tax rules are visible (the regions, the types, the rates); the regional tax is managed
**Preconditions:** Multiple regional tax rules are defined.
**Steps:**
1. Open the regional tax rules view.
2. Verify the regions, the types, and the rates are visible.
3. Verify the regional tax is managed.
**Expected Result:** The regional tax rules are visible — the regions, the types, and the rates are shown.
**Priority:** Medium
