Use allocations to split individual items

Use allocations to split individual line items into logical components, resulting in increased accuracy of your tax liabilities.
To better determine accurate taxes, allocations give you an almost limitless capability to modify the data obtained from your ERP system.
These examples explain when this may be desirable or necessary:
  • Gift basket: Your company sells gift baskets containing both food and non-food items. Gift baskets are invoiced as a single line item at $50 each. The value of the food items is $30; the non-food items $20. Because food isn't taxable in many jurisdictions, you can allocate 60% of the transaction to food and 40% to a taxable product, thereby reducing your tax liability.
  • Computer: Your company sells a computer made up of component parts from several sources in different jurisdictions. The invoice shows a single item valued at $1000, even though the $300 monitor was shipped from California, the $500 processor/tower were shipped from Arizona, and the $200 networking hardware was shipped from New Jersey. You can allocate 30% to California, 50% to Arizona, and 20% to New Jersey. In addition, you can take the single product code that appeared on the invoice and substitute product codes that result in more accurate taxability of the transaction.

Allocations processing

You can configure and name each specific scenario for which you want to perform an allocation on the Allocations page. Each named allocation specifies actions to take when the allocation's processed.
You can configure multiple allocations with the same name, each with differing date ranges, so that transactions using different invoice dates can trigger different allocation actions using the same allocation name.
Named allocations belong to allocation groups owned by a Determination company.
When a transaction's processed, the transaction's validated then the applicable TransEditors get applied. You can use TransEditors to specify the allocation name to apply to a given line item based on matching transaction data, such as a product code or custom field. If you don't use TransEditors to specify the allocation name, the required elements must be passed in with the transaction in order to trigger allocation processing.
Once the allocation name has been determined, either by setting through a TransEditor or passing in with the transaction, the allocation's actions take place if the invoice date matches a valid date in the named allocation's date range.
Actions include:
  • Splitting the transaction into multiple logical lines (allocation lines).
  • Setting or determining values for these logical lines. For example, a set of actions might include setting Ship From and Ship To addresses, setting a product code, and performing a math operation on an item value or quantity.
Once the allocation's complete, tax gets calculated. Results are returned in the XML output and stored in audit data. The XML output results are contained in the following structures:
  • <OUTDATA><INVOICE><LINE><ALLOCATION_LINE>
  • <OUTDATA><INVOICE><LINE><ALLOCATION_LINE><TAX>