Transaction allocations enable you to distribute transaction amounts across multiple dimensions—such as departments, locations, projects, or classes. Transaction allocations are intended for use on single line items, allowing you to distribute amounts during entry of a transaction, usually a one-time action. Transaction allocations are only available for distribution across eight of the ten standard dimensions and have other restrictions as well.

If you want to automatically pull updated source balances and distribute them across dimensions according to defined basis calculations, you should use the Dynamic Allocations subscription. See Account Allocations for more info.


List Transaction Allocations

readByQuery

<readByQuery>
    <object>ALLOCATION</object>
    <fields>*</fields>
    <query></query>
    <pagesize>100</pagesize>
</readByQuery>

Parameters

Name Required Type Description
object Required string Use ALLOCATION
fields Optional string Comma-separated list of fields on the object to list. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
query Required string SQL-like query based on fields on the object. Illegal XML characters must be properly encoded. The following SQL operators are supported: <, >, >=, <=, =, like, not like, in, not in. When doing NULL comparisons: IS NOT NULL, IS NULL. Multiple fields may be matched using the AND and OR operators. Joins are not supported. Single quotes in any operands must be escaped with a backslash - For example, the value Erik's Deli would become 'Erik\'s Deli'.
pagesize Optional integer Custom page size between 1 and 1000 items (Default: 100)

Get Transaction Allocation

read

<read>
    <object>ALLOCATION</object>
    <keys>31</keys>
    <fields>*</fields>
</read>

Parameters

Name Required Type Description
object Required string Use ALLOCATION
keys Required string Transaction allocation RECORDNO to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.

Get Transaction Allocation by Name

readByName

<readByName>
    <object>ALLOCATION</object>
    <keys>TEST</keys>
    <fields>*</fields>
</readByName>

Parameters

Name Required Type Description
object Required string Use ALLOCATION
keys Required string Transaction allocation ALLOCATIONID to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.

Create Transaction Allocation

create

<create>
    <ALLOCATION>
        <ALLOCATIONID>ExpenseSwap</ALLOCATIONID>
        <DESCRIPTION></DESCRIPTION>
        <STATUS>active</STATUS>
        <TYPE>Percentage</TYPE>
        <DOCNUMBER></DOCNUMBER>
        <SUPDOCID></SUPDOCID>
        <ALLOCATIONENTRIES>
            <ALLOCATIONENTRY>
                <VALUE>40</VALUE>
                <LOCATIONID>5000</LOCATIONID>
                <DEPARTMENTID></DEPARTMENTID>
                <PROJECTID></PROJECTID>
                <CUSTOMERID></CUSTOMERID>
                <VENDORID></VENDORID>
                <EMPLOYEEID></EMPLOYEEID>
                <ITEMID></ITEMID>
                <CLASSID></CLASSID>
                <CONTRACTID></CONTRACTID>
                <WAREHOUSEID></WAREHOUSEID>
            </ALLOCATIONENTRY>
            <ALLOCATIONENTRY>
                <VALUE>60</VALUE>
                <LOCATIONID>2000</LOCATIONID>
                <DEPARTMENTID></DEPARTMENTID>
                <PROJECTID></PROJECTID>
                <CUSTOMERID></CUSTOMERID>
                <VENDORID></VENDORID>
                <EMPLOYEEID></EMPLOYEEID>
                <ITEMID></ITEMID>
                <CLASSID></CLASSID>
                <CONTRACTID></CONTRACTID>
                <WAREHOUSEID></WAREHOUSEID>
            </ALLOCATIONENTRY>
        </ALLOCATIONENTRIES>
    </ALLOCATION>
</create>

Parameters

Name Required Type Description
ALLOCATION Optional object Object to create

ALLOCATION

Name Required Type Description
ALLOCATIONID Required string Transaction allocation ID
DESCRIPTION Optional string Description of transaction allocation
STATUS Optional string Transaction allocation status. Use active for Active otherwise use inactive for Inactive (Default: active)
TYPE Optional string Type to allocate by. Use Percentage or Absolute (Default: Percentage)
DOCNUMBER Optional string Document number
SUPDOCID Optional string Attachments ID
ALLOCATIONENTRIES Required ALLOCATIONENTRY[1...n] Transaction allocation entries must add up to 100 if TYPE is Percentage

ALLOCATIONENTRY

Name Required Type Description
VALUE Required decimal Value to allocate by
DEPARTMENTID Optional string Department ID
LOCATIONID Optional string Location ID. Required if multi-entity enabled.
PROJECTID Optional string Project ID
CUSTOMERID Optional string Customer ID
VENDORID Optional string Vendor ID
EMPLOYEEID Optional string Employee ID
ITEMID Optional string Item ID
CLASSID Optional string Class ID
CONTRACTID Optional string Contract ID
WAREHOUSEID Optional string Warehouse ID

Update Transaction Allocation

update

<update>
    <ALLOCATION>
        <RECORDNO>7</RECORDNO>
        <DESCRIPTION></DESCRIPTION>
        <STATUS>active</STATUS>
        <TYPE>Percentage</TYPE>
        <DOCNUMBER></DOCNUMBER>
        <SUPDOCID></SUPDOCID>
        <ALLOCATIONENTRIES>
            <ALLOCATIONENTRY>
                <VALUE>40</VALUE>
                <LOCATIONID>5000</LOCATIONID>
                <DEPARTMENTID></DEPARTMENTID>
                <PROJECTID></PROJECTID>
                <CUSTOMERID></CUSTOMERID>
                <VENDORID></VENDORID>
                <EMPLOYEEID></EMPLOYEEID>
                <ITEMID></ITEMID>
                <CLASSID></CLASSID>
                <CONTRACTID></CONTRACTID>
                <WAREHOUSEID></WAREHOUSEID>
            </ALLOCATIONENTRY>
            <ALLOCATIONENTRY>
                <VALUE>60</VALUE>
                <LOCATIONID>2000</LOCATIONID>
                <DEPARTMENTID></DEPARTMENTID>
                <PROJECTID></PROJECTID>
                <CUSTOMERID></CUSTOMERID>
                <VENDORID></VENDORID>
                <EMPLOYEEID></EMPLOYEEID>
                <ITEMID></ITEMID>
                <CLASSID></CLASSID>
                <CONTRACTID></CONTRACTID>
                <WAREHOUSEID></WAREHOUSEID>
            </ALLOCATIONENTRY>
        </ALLOCATIONENTRIES>
    </ALLOCATION>
</update>

Parameters

Name Required Type Description
ALLOCATION Optional object Object to update

ALLOCATION

Name Required Type Description
RECORDNO Optional integer Record number of transaction allocation to update. Required if not using ALLOCATIONID.
ALLOCATIONID Optional string Transaction allocation ID. Required if not using RECORDNO.
DESCRIPTION Optional string Description of transaction allocation
STATUS Optional string Transaction allocation status. Use active for Active otherwise use inactive for Inactive (Default: active)
TYPE Optional string Type to allocate by. Use Percentage or Absolute (Default: Percentage)
DOCNUMBER Optional string Document number
SUPDOCID Optional string Attachments ID
ALLOCATIONENTRIES Required ALLOCATIONENTRY[1...n] Transaction allocation entries must add up to 100 if TYPE is Percentage

ALLOCATIONENTRY

Name Required Type Description
VALUE Required decimal Value to allocate by
DEPARTMENTID Optional string Department ID
LOCATIONID Optional string Location ID. Required if multi-entity enabled.
PROJECTID Optional string Project ID
CUSTOMERID Optional string Customer ID
VENDORID Optional string Vendor ID
EMPLOYEEID Optional string Employee ID
ITEMID Optional string Item ID
CLASSID Optional string Class ID
CONTRACTID Optional string Contract ID
WAREHOUSEID Optional string Warehouse ID

Delete Transaction Allocation

delete

<delete>
    <object>ALLOCATION</object>
    <keys>112</keys>
</delete>

Parameters

Name Required Type Description
object Required string Use ALLOCATION
keys Required string Transaction allocation RECORDNO to delete

List Allocation Lines

readByQuery

<readByQuery>
    <object>ALLOCATIONENTRY</object>
    <fields>*</fields>
    <query></query>
    <pagesize>100</pagesize>
</readByQuery>

Parameters

Name Required Type Description
object Required string Use ALLOCATIONENTRY
fields Optional string Comma-separated list of fields on the object to list. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
query Required string SQL-like query based on fields on the object. Illegal XML characters must be properly encoded. The following SQL operators are supported: <, >, >=, <=, =, like, not like, in, not in. When doing NULL comparisons: IS NOT NULL, IS NULL. Multiple fields may be matched using the AND and OR operators. Joins are not supported. Single quotes in any operands must be escaped with a backslash - For example, the value Erik's Deli would become 'Erik\'s Deli'.
pagesize Optional integer Custom page size between 1 and 1000 items (Default: 100)

Get Allocation Line

read

<read>
    <object>ALLOCATIONENTRY</object>
    <keys>1</keys>
    <fields>*</fields>
</read>

Parameters

Name Required Type Description
object Required string Use ALLOCATIONENTRY
keys Required string Transaction allocation line RECORDNO to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.

Provide feedback