Create a staging table “Tax Rate” with the following fields.
Field Name | Field Type |
---|---|
State | Picklist |
Zip Code | Text(20) - Key field must be unique |
Tax Region Name | Text(255) |
Estimated Combined Rate | Decimal |
State Rate | Decimal |
Estimated Country Rate | Decimal |
Estimated City Rate | Decimal |
Estimated Special Rate | Decimal |
Risk Level | Integer |
Add the “Zip Code” field to the Tax Area table
Zip Code is a unique external id field.
Allow the system to match the Tax Area record quickly using a zip code.
When a new Tax Area record is created by the Tax Rate Import routine, it will populate this field using data in the ZipCode column.
Tax Rate Import Routine
Use the Salesforce data import wizard to load the tax rate data into the staging table.
New button on the Tax Rate list view “Import Tax Rate”
When the user clicks the button system will
Try to find an existing Tax Area record by zip code.
If the Tax Area record is found then compare the “Estimated Combined Rate” to Tax Detail’s Tax % field. If the rate is different then update the existing Tax Detail record, otherwise skip, and process the next line.
If the Tax Area record is not found then create a new Tax Area, Tax Jurisdictions, and Tax Detail record.
When Creating a new Tax Area record use {State}-{ZipCode}-{Tax Region Name} as the Tax Area Name.
When Creating a new Tax Jurisdiction record use {State}-{ZipCode}-{Tax Region Name} as the Tax Jurisdiction Name.
When Creating a new Tax Detail record use the value in the “Estimated Combined Rate” column as Tax % and default Tax Group to “Material”.
When an Account record is inserted/updated
If the Account’s Shipping Zip Code is changed, then the system will try to pull the Tax Area by zip code, if a match is found then populate the Tax Area field, otherwise leave it blank.
If the Account’s Shipping Zip Code is blank then use the Billing Zip Code to search for a Tax Area.
When an Alternate Shipping record is inserted/updated
If the Alternate Shipping’s Shipping Postal Code is changed, then the system will try to pull the Tax Area by shipping postal code, if a match is found then populate the Tax Area field, otherwise leave it blank.
When to check Tax Liable on the Account and Alternate Shipping???
Which division is Tax Liable, which channel???
When a Sales Order is updated
If the Shipping Post Code is changed, then the system will try to pull the Tax Area by shipping postal code, if a match is found then populate the Tax Area field, otherwise leave it blank. - no need to do it. GoldFinch will pull in Tax Area automatically based on Alternating Shipping or Sell-to. Users can manually update as needed.
Potential Issues with this approach:
There will be thousands of Tax Area records, and it will not be user-friendly when they need to look up a tax area code manually in a Sales Order.