---
id: object/table/10012-ca
type: object
title: Table 10012 "Sales Tax Amount Difference" (CA)
summary: Table 10012 "Sales Tax Amount Difference" (CA) in the CA country layer (Microsoft.Finance.SalesTax). 12 fields, 3 public procedures, 1 events. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - table
  - ca layer
versions:
  introduced: "29"
  last_changed: null
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 2967e21b671a525340a3d80cc448c9f23472d3cfdfc48900d7a971ee74391766
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/NA/BaseApp/Local/Finance/SalesTax/SalesTaxAmountDifference.Table.al
    title: src/Layers/NA/BaseApp/Local/Finance/SalesTax/SalesTaxAmountDifference.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations:
    - localization/ca
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 10012
name: Sales Tax Amount Difference
namespace: Microsoft.Finance.SalesTax
app: Base Application
extends: null
first_version: "29"
last_version: "30"
present_in:
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
country: CA
counts:
  fields: 12
  procedures: 4
  events: 1
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
---

# Table 10012 "Sales Tax Amount Difference" (CA)

> Table 10012 "Sales Tax Amount Difference" (CA) in the CA country layer (Microsoft.Finance.SalesTax). 12 fields, 3 public procedures, 1 events. Introduced in BC29, still in BC30.

CA country layer · Microsoft.Finance.SalesTax · BC29-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/NA/BaseApp/Local/Finance/SalesTax/SalesTaxAmountDifference.Table.al) · facts from BC29

An object of the [CA localization](../../localizations/ca.md), not part of W1.

## Properties

| Property | Value |
|---|---|
| Caption | Sales Tax Amount Difference |
| DataClassification | CustomerContent |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Document Type | Option | — | OptionCaption: Quote,Order,Invoice,Credit Memo,Blanket Order,Return Order |
| 2 | Document Product Area | Enum "Sales Tax Document Area" | — | enum Sales Tax Document Area |
| 3 | Document No. | Code[20] | — | TableRelation if ("Document Product Area" = const(Sales)) "Sales Header"."No." where("Document Type" = field("Document Type")) else if ("Document Product Area" = const(Purchase)) "Purchase Header"."No." where("Document Type" = field("Document Type")) #pragma warning restore AL0603 else if ("Document Type" = const... |
| 5 | Tax Area Code | Code[20] | — | TableRelation Tax Area |
| 6 | Tax Jurisdiction Code | Code[10] | — | TableRelation Tax Jurisdiction |
| 7 | Tax Group Code | Code[20] | — | TableRelation Tax Group |
| 8 | Tax % | Decimal | — |  |
| 9 | Expense/Capitalize | Boolean | — |  |
| 10 | Tax Type | Option | — | OptionCaption: Sales and Use Tax,Excise Tax,Sales Tax Only,Use Tax Only |
| 11 | Use Tax | Boolean | — |  |
| 15 | Tax Difference | Decimal | — | not editable |
| 16 | Positive | Boolean | — | not editable |

## Keys

- Key1: Document Product Area, Document Type, Document No., Tax Area Code, Tax Jurisdiction Code, Tax %, Tax Group Code, Expense/Capitalize, Tax Type, Use Tax (clustered)

## Events published

- `OnCopyTaxDifferenceRecordsOnBeforeToTaxAmountDifferenceInsert(var ToTaxAmountDifference: Record "Sales Tax Amount Difference"; var FromTaxAmountDifference: Record "Sales Tax Amount Difference")` (integration)

## Procedures

- `ClearDocDifference(ProductArea: Option Sales,Purchase; DocType: Option Quote,"Order",Invoice,"Credit Memo","Blanket Order","Return Order"; DocNo: Code[20])`
- `AnyTaxDifferenceRecords(ProductArea: Option Sales,Purchase; DocType: Option Quote,"Order",Invoice,"Credit Memo","Blanket Order","Return Order"; DocNo: Code[20]): Boolean`
- `CopyTaxDifferenceRecords(FromProductArea: Enum "Sales Tax Document Area"; FromDocType: Option Quote,"Order",Invoice,"Credit Memo","Blanket Order","Return Order"; FromDocNo: Code[20]; ToProductArea: Enum "Sales Tax Document Area"; ToDocType: Option ,,Invoice,"Credit Memo"; ToDocNo: Code[20])`

## Across versions

- Present in: BC29-30
- Changed (declaration) in: none

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "table", object_name: "Sales Tax Amount Difference")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.

A CA country object, not part of W1: the default corpus does not have it; `bcatlas_list_countries` shows which countries the atlas has.
