Ingest Tax Data into Data 360

Use Data 360 data streams to load Salesforce CRM object mappings and tax agency data into the Taxpayer 360 Data Model DMOs.

Before you ingest tax data, complete these steps:

Corrections and amendments must be loaded as new records with a foreign key back to the original, not as overwrites. Records that violate the topological ingestion order (tier by tier) land with dangling foreign keys and fail to resolve at query time.

Important

Ingestion happens in three phases. First, sync Salesforce objects (Account, Contact, IdentityDocument) to Data 360 by using the CRM connector. This creates the platform SSOT records that tax DMOs depend on, including the PartyIdentification records used by Identity Resolution. Second, ingest agency-side Account and PartyIdentification records that represent taxpayers in the tax agency system of record. Third, ingest the tax-specific DMOs from your agency by using a connector that fits your stack (S3, MuleSoft, or another supported connector).

Configure Salesforce Object Mappings via CRM Connector

Create Data 360 data streams for Account, Contact, and IdentityDocument so that platform SSOT DMOs are populated before tax data ingestion begins.

The CRM connector syncs Salesforce core objects to Data 360 by using default mappings. Deploy these three objects before ingesting any tax DMOs. They produce the AccountDMO, IndividualDMO, PartyIdentificationDMO, and related records that tax DMOs reference as foreign keys.

  1. In the Data 360 app, click Data Streams, and then click New.
  2. Select Salesforce CRM as the source, and then select your connected org.
  3. Click View Objects, and then find and select Account.
  4. Click Next.
  5. Set the Category to Profile and the Primary Key to Account Id.
  6. Click Next, set the Data Space to your Tax and Revenue data space, review the default field mappings, and then click Deploy.
  7. Repeat steps 1–5 for the Contact and IdentityDocumentobjects.
    For IdentityDocument, set the Category to Profile. After deploying, verify that the default mapping includes the IdentificationNumber and IdentificationType fields as these fields are required for Identity Resolution to match taxpayer records.

After deploying the CRM streams, wait for the initial sync to complete before ingesting tax agency data.

Ingest Agency Account and Party Identification Data

Create data streams to ingest tax agency identification data into Account and PartyIdentification. These agency-side records are distinct from the CRM-synced Account and PartyIdentification records created in the previous task.

When you later ingest TaxAccountDmo, set AccountId to the agency-side Account Id from this step and not the CRM-synced Account Id.

  1. In the Data 360 app, click Data Streams, and then click New.
  2. Select your connector (for example, Amazon S3 or MuleSoft).
  3. Configure the connection to your agency's data source.
  4. Map source fields to Account, and then deploy the stream with Object Type set to Other and the Data Space set to your Tax and Revenue data space.
  5. Repeat for PartyIdentification.
  6. Confirm that each stream populates DataSourceId, DataSourceObjectId, and InternalOrganizationId on every record.

Ingest Tax Agency Data into Tax DMOs

Use a Data 360 connector to load tax agency data into the Tax and Revenue DMOs in the correct topological order.

Before ingesting tax DMOs, complete the CRM connector mappings for Account, Contact, and IdentityDocument, and complete agency-side Account and PartyIdentification ingestion.

The steps apply to any connector. The key requirement is ingesting DMOs tier by tier, parents before children. For available connector options, see Data 360 Connectors and Integrations.

  1. In the Data 360 app, click Data Streams, and then click New.
  2. Select your connector (for example, Amazon S3 or MuleSoft).
  3. Configure the connection to your agency's data source.
  4. Map source fields to the target DMO fields.
    For the fields the self-service Taxpayer Portal queries reference, see Portal-Referenced Fields in Tax and Revenue Management. All DMO field mappings are expected to be ingested.
  5. Set Object Type to Other.
  6. Set the Data Space to your Tax and Revenue data space.
  7. Click Deploy.
  8. Repeat for each DMO, following the tier order in DMO Dependency Tiers. Load DMOs in this sequence:
    1. Tier 0: TaxTypeDmo (CRM-synced Individual, Account, and PartyIdentification, plus agency-side Account and PartyIdentification from the previous tasks, must already exist. Confirm PaymentInstrument and DigitalContent load paths with your SME.)
    2. Tier 1: TaxTypePeriodDmo
    3. Tier 2: TaxAccountDmo—AccountId must point to the agency-side Account Id
    4. Tier 3: TaxFilingDmo—load original filings before amendments
    5. Tier 4: TaxFilingTaxAccountDmo, TaxFilingParticipantDmo, TaxDocumentDmo (originals before corrected docs), TaxPaymentDmo, TaxRefundDmo (original refunds before reissued refunds), TaxFilingPaymentInstrumentDmo
    6. Tier 5: TaxFilingLineItemDmo (parent line items first), TaxFilingAssessmentDmo (in assessment-cycle order), TaxDocumentItemDmo, TaxFilingDocumentDmo
    7. Tier 6: TaxFilingAssessmentLineItemDmo, TaxFilingLineItemDocumentDmo, TaxFilingAssessmentDocumentDmo
    8. Tier 7: TaxFilingAssessmentLineItmDocDmo
  9. Confirm that each stream populates DataSourceId, DataSourceObjectId, and InternalOrganizationId on every record.
    These three system fields are required on every DMO record. Records that omit them fail validation.

After ingesting both core and tax data, configure Identity Resolution to link the agency-ingested party records with the CRM-synced records. See Identity Resolution for Tax and Revenue.