Tax and Revenue Management
Architecture Overview
The Taxpayer 360 Data Model is a set of Data 360 DMOs that represent the complete tax lifecycle for a taxpayer. From their identity and tax accounts through filings, line items, assessments, payments, and supporting documents. Agencies ingest data from back-office systems into these DMOs by using Data 360 data streams. Corrections and amendments to the model must be done by creating records chained via foreign keys rather than overwriting existing records.
The data model integrates with standard Salesforce CRM data (Account, Contact) and Data 360 platform DMOs (Individual, PartyIdentification, PaymentInstrument, DigitalContent) that are synced from CRM via the CRM connector. Identity Resolution links the agency-ingested taxpayer records to the CRM-synced records by matching on TIN in PartyIdentification.IdentificationNumber.
See the Tax and Revenue data model in the Public Sector Data Model Gallery.
Before continuing with the developer guide, set up your org to use the Tax and Revenue features. See Set Up Tax and Revenuein Agentforce Public Sector Help.
Data Space Naming
The DMO API names that you use in queries depend on which data space your org uses for Tax and Revenue data.
| Data Space Type | DMO API Name Pattern |
|---|---|
| Default Data Space | TaxFiling_std__dlm (suffix: _std__dlm) |
| Non-default (dedicated) data Space | ds1_TaxFiling_std__dlm (Data Space prefix + suffix) |
Decide on the target data space before configuring ingestion, identity resolution, or Connect API queries. To learn more about setting up the data space, see Set Up Tax and Revenue in Salesforce Help.
DMO Dependency Tiers
Load DMOs in this order to avoid dangling foreign keys. Every parent record must exist before child records that reference it are ingested. The tiers reflect a topological sort of the foreign key graph.
| Tier | DMO | FK Dependencies |
|---|---|---|
| 0—Foundations | Individual / Account + PartyIdentification | Platform SSOT DMOs. Also created via CRM connector sync of Account, Contact, and IdentityDocument. Load before all tax DMOs. |
| PaymentInstrumentDMO | Platform SSOT DMO. No tax-DMO foreign keys. | |
| DigitalContentDMO | Platform SSOT DMO. Required only if loading stored document file bytes into TaxDocument. | |
| TaxTypeDMO | No tax-DMO foreign keys. Categories: Income, Payroll, GST, VAT, and so on. | |
| 1 | TaxTypePeriodDMO | TaxType. Filing periods: FY2025, Q1 2025, and so on. |
| 2 | TaxAccountDmo | Account, PartyIdentification, TaxType. The hub that most tax data depends on—represents a taxpayer's account per authority per tax type. |
| 3 | TaxFilingDmo | TaxAccount, TaxTypePeriod. Self-FK: AmendedFromFiling. Load originals before amendments. |
| 4 | TaxFilingTaxAccountDmo | Junction. → TaxFiling, TaxAccount. |
| TaxFilingParticipantDmo | TaxFiling, Individual, Account, PartyIdentification. | |
| TaxDocumentDmo | TaxAccount, TaxTypePeriod, DigitalContent. Self-FK: OriginalDocument. Load originals before corrected docs. | |
| TaxPaymentDmo | TaxAccount, TaxFiling, TaxTypePeriod, PaymentInstrument. | |
| TaxRefundDmo | → TaxFiling, TaxTypePeriod, TaxAccount, PaymentInstrument. Self-FK: OriginalRefund. Load original refunds before reissued refunds. | |
| TaxFilingPaymentInstrumentDmo | Junction. → TaxFiling, PaymentInstrument. Proposed—FKs not finalized. | |
| 5 | TaxFilingLineItemDmo | TaxAccount, TaxFiling, TaxFilingParticipant. Self-FK: ParentLineItem. Load parent line items before children. |
| TaxFilingAssessmentDmo | TaxFiling. Self-FK: PreviousAssessment. Load in assessment-cycle order. | |
| TaxDocumentItemDmo | TaxDocument. Self-FK: parent line item. Holds third-party info-return lines (W-2, 1099, Form 16). Formerly TaxDeclarationItemDmo. | |
| TaxFilingDocumentDmo | Proposed—FKs not finalized. | |
| 6 | TaxFilingAssessmentLineItemDmo | TaxFilingAssessment, TaxFilingLineItem, TaxFilingParticipant, TaxAccount. Self-FK: parent line item. Formerly TaxFilingLineItemAssessmentDmo. |
| TaxFilingLineItemDocumentDmo | Junction. → TaxFilingLineItem, TaxDocument. Proposed—FKs not finalized. | |
| TaxFilingAssessmentDocumentDmo | Junction. → TaxFilingAssessment, TaxDocument. Proposed—FKs not finalized. | |
| 7 | TaxFilingAssessmentLineItmDocDmo | Junction. → TaxFilingAssessmentLineItem, TaxDocument. Proposed—FKs not finalized. |
Required System Fields
Every Tax and Revenue DMO record must include these system fields. Populate them in your ingestion mapping.
| Field | Description |
|---|---|
| DataSourceId | Identifies the source system that produced this record. |
| DataSourceObjectId | The source system's unique identifier for this record. |
| InternalOrganizationId | Identifies the Salesforce org. Required for all ingested records. |
Platform SSOT DMOs
These DMOs are standard Data 360 platform objects, not Tax and Revenue-specific. They're shared across Data 360 features and may already exist in your org.
- Individual
- Represents an individual person. Created via CRM connector sync of the Contact object, or ingested directly from the tax agency's data. Used as a party reference in tax DMOs.
- Account
- Represents an organization or individual taxpayer account. Created via CRM connector sync of the Account object, or ingested from the tax agency's system.
- PartyIdentification
- Stores taxpayer identity documents—TIN, SSN, EIN, PAN, NINO, and so on. Created via CRM connector sync of the IdentityDocument object, or ingested directly. The IdentificationNumber field on this DMO is the match key used by identity resolution.
- PaymentInstrument
- Represents a payment method—bank account, check, or card. Referenced by TaxPaymentDmo and TaxFilingPaymentInstrumentDmo.
- DigitalContent
- Holds document file bytes. Referenced by TaxDocumentDmo when stored document content is loaded into Data 360. Required only if your agency stores document files in Data 360 directly.
- ContactPointAddress
- Represents a mailing or physical address associated with a party.
Portal-Referenced Fields
This table lists the fields that each DMO exposes to the self-service Taxpayer Portal. Ingest all DMO field mappings. These are fields that the portal queries actually reference.
| DMO | Portal-Referenced Fields |
|---|---|
| Account | Account Id, Account Name, Individual |
| ContactPointAddress | Active From Date, Address Line 1, Address Line 2, Address Line 3, Address Line 4, City Name, Contact Point Address Id, Country Name, Created Date, Party, Postal Code Text, State Province Name, Usage Type |
| Individual | First Name, Individual Id, Last Name |
| PartyIdentification | Identification Name, Identification Number, Party, Party Identification Id, Party Identification Type |
| PaymentInstrument | Bank Account Number, Bank Name, Card Brand, Expiry Day Of Month, Expiry Month, Expiry Year, Instrument Number, Issue Date, Issuing Entity, Last 4, Payment Instrument Id, Type |
| TaxAccount | Account, Tax Account Id, Valid To Date Time |
| TaxDocument | Content Document, Document Type, Gross Earning Amount, Is Corrected, Issued Date, Original Document, Resolved File Path, Status, Tax Document Id, Tax Document Name, Tax Type Period, Tax Withheld Amount, Taxpayer Tax Account |
| TaxDocumentItem | Category, Description, Line Reference, Parent Line Item, Reported Amount, Subcategory, Tax Document, Tax Document Item Id |
| TaxFiling | Adjusted Gross Income, Confirmation Number, Created Date Time, Filing Date, Filing Status, Form Type, Gross Income, Is Amended, Last Modified Date Time, Owed Amount, Refund Amount, Status, Tax Account, Tax Filing Id, Tax Type Period, Taxable Income, Total Credit Amount, Total Deduction Amount, Total Payment and Withholding, Total Tax Amount After Credit |
| TaxFilingAssessment | Adjusted Gross Income Amount, Assessment Date, Gross Income Amount, Interest Amount, Overpayment Amount, Owed Amount, Penalty Amount, Previous Assessment, Reason Code, Reason Text, Refund Amount, Status, Tax Filing, Tax Filing Assessment Id, Tax Filing Assessment Name, Taxable Income Amount, Total Credit Amount, Total Deduction Amount, Total Payment and Withholding Amount, Total Tax Amount After Credit, Total Tax Liability Amount |
| TaxFilingAssessmentDocument | Created Date Time, Last Modified Date Time, Tax Document, Tax Filing Assessment, Tax Filing Assessment Doc |
| TaxFilingAssessmentLineItem | Adjustment Code, Adjustment Reason, Amount, Category, Description, Form Type, Line Reference, Parent Line Item, Subcategory, Tax Filing Assessment, Tax Filing Assessment Line, Tax Filing Line Item |
| TaxFilingAssessmentLineItemDocument | Created Date Time, Last Modified Date Time, Tax Document, Tax Filing Assessment Line Item, Tax Filing Assessment Line |
| TaxFilingDocument | Created Date Time, Last Modified Date Time, Tax Document, Tax Filing, Tax Filing Document Id |
| TaxFilingLineItem | Amount, Category, Created Date Time, Description, Form Type, Income Source Tax Account, Last Modified Date Time, Line Reference, Parent Line Item, Subcategory, Tax Filing, Tax Filing Line Item Id, Tax Filing Participant |
| TaxFilingLineItemDocument | Created Date Time, Last Modified Date Time, Tax Document, Tax Filing Line Item, Tax Filing Line Item Document Id |
| TaxFilingParticipant | Account, Created Date Time, Dependent Type, Individual, Is Dependent, Is Disabled, Is Joint Filer, Is Student, Is Tax Preparer, Last Modified Date Time, Party Identification, Relationship, Tax Filing, Tax Filing Participant Id |
| TaxFilingPaymentInstrument | Allocated Amount, Created Date Time, Last Modified Date Time, Payment Instrument, Tax Filing, Tax Filing Payment Instrument Id |
| TaxFilingTaxAccount | Created Date Time, Last Modified Date Time, Tax Account, Tax Filing, Tax Filing Tax Account Id |
| TaxPayment | Amount, Created Date Time, Failure Reason, Last Modified Date Time, Payment Date, Payment Identifier, Payment Instrument, Payment Reason, Remitter Tax Account, Status, Tax Filing, Tax Payment Id, Tax Payment Name, Tax Type Period, Taxpayer Tax Account |
| TaxRefund | Created Date Time, Disbursement Date, Failure Reason, Last Modified Date Time, Net Amount, Original Refund, Payment Identifier, Payment Instrument, Reason Code, Reason Text, Status, Tax Filing, Tax Refund Id, Tax Refund Name, Tax Type Period, Taxpayer Tax Account |
| TaxType | Authority Name, Category, Created Date Time, Last Modified Date Time, Status, Subcategory, Tax Type Id, Tax Type Name |
| TaxTypePeriod | Assessment Year, Category, Created Date Time, End Date, Last Modified Date Time, Start Date, Tax Due Date, Tax Type, Tax Type Period Id, Tax Type Period Name, Tax Year |