Allocations
Using Allocations, you can split individual line items into logical components, resulting in increased accuracy of your tax liabilities. The following 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 is not 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.
To better determine accurate taxes, Determination Allocations give you an almost limitless capability to modify the data obtained from your ERP system.
Allocations Processing Overview
On the Allocations page, you must configure and name each specific scenario for which you want to perform an allocation. Each named allocation specifies actions to take when the allocation is 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. A company can specify a default allocation group, if desired.
When a transaction is processed, the transaction is first validated, and then applicable TransEditors are 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 attribute.
- If you do not 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 is complete, tax is calculated. Results are returned in the Output XML and stored in audit data. The Output XML results are contained in the following structures:
- <OUTDATA><INVOICE><LINE><ALLOCATION_LINE>
- <OUTDATA><INVOICE><LINE><ALLOCATION_LINE><TAX>
Your ERP system can use this allocation data or can continue to use the summarized data found in the <INVOICE><LINE> and <INVOICE><LINE><TAX> structures.