Journal Entries
A journal entry can add, edit, or reverse a transaction to a journal.
When writing journal entries, be sure to balance the general ledger by posting offsetting entries. A journal entry is an owned element of general ledger transaction (GLBATCH
).
Note: If GL Outlier Detection is enabled for a company, information about outliers is included in journal entries and allocation splits when you get a journal entry object. See the FAQ for more information.
Potential Timeouts with Large Journal Entries If you create journal entries with thousands of lines, you might experience timeouts. As a best practice, create multiple, smaller journal entries. If you cannot create multiple journal entries, work with our support team to set up an asynchronous transport policy. Read more about asynchronous processing in this topic.
Journal Entries
Get Journal Entry Object Definition
lookup
List all the fields and relationships for the journal entry object:
Parameters
Name | Required | Type | Description |
---|---|---|---|
object | Required | string | Use GLBATCH |
Query and List Journal Entries
query
List the record number, description, and date for each journal entry:
List submitted journal entries for the general journal (GJ):
Parameters
Name | Required | Type | Description |
---|---|---|---|
object | Required | string | Use GLBATCH |
filter | Optional | object | Filter expression to limit the response to only objects that match the expression. Check the value of a single field using operators such as equalto/like, or multiple fields using and/or. Query fields on related objects using the dot operator (for example, VENDOR.CREDITLIMIT on APBILL). |
select | Required | sequence | The names of the fields that you want included in the response, and an optional aggregate function such as count or sum . Returning all fields is not supported. |
orderby | Optional | object | Provide an order element with a field name and choose an ascending or descending sort order, for example: <order> |
options | Optional | object | Query options:
|
pagesize | Optional | integer | Maximum number of matching objects to return in the response, between 1 and 2000 items (Default: 100 ) |
offset | Optional | integer | Point at which to start indexing into records (Default: 0 ) |
Query and List Journal Entries (Legacy)
List journal entries:
readByQuery
The above function returns data structured like this:
List submitted journal entries:
Parameters
Name | Required | Type | Description |
---|---|---|---|
object | Required | string | Use GLBATCH |
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. The following operators are supported: < , > , >= , <= , = , like , not like , in , not in , IS NOT NULL , IS NULL , AND , OR . Illegal XML characters must be properly encoded, and single quotes must be escaped with backslashes ('Jane\'s Deli' ). Joins are not supported. |
pagesize | Optional | integer | Custom page size between 1 and 1000 items (Default: 100 ) |
query
Fields
Name | Required | Type | Description |
---|---|---|---|
STATE | Optional | string | State of the journal entry.
|
Get Journal Entry
read
Parameters
Name | Required | Type | Description |
---|---|---|---|
object | Required | string | Use GLBATCH |
keys | Required | string | Comma-separated list of journal entry RECORDNO to get |
fields | Optional | string | Comma-separated list of fields on the object to get. To return all fields, omit the element or provide * for the value.For best performance and predictability, limit the number of fields. |
returnFormat | Optional | string | Data format for the response body:
|
Create Journal Entry
Release | Changes |
---|---|
2022 Release 2 | Added TRANSACTIONSOURCE |
2021 Release 2 | Added TAXSOLUTIONID |
2020 Release 2 | Added COSTTYPEID |
2019 Release 4 | Added TASKID |
2019 Release 3 | Added TAXIMPLICATIONS, VATVENDORID, VATCUSTOMERID, VATCONTACTID, TAXENTRIES |
create
Create a journal entry with a reversal:
Create a journal entry with a custom allocation:
Create a journal entry with a tax entry (AU, GB, ZA only):
Parameters
Name | Required | Type | Description |
---|---|---|---|
GLBATCH | Required | object | Object to create |
GLBATCH
Name | Required | Type | Description |
---|---|---|---|
JOURNAL | Required | string | GL journal symbol. This determines the type of journal entry as visible in the UI, for example, Regular, Adjustment, User-defined, Statistical, GAAP, Tax, and so forth. |
BATCH_DATE | Required | string | Posting date in format mm/dd/yyyy . |
REVERSEDATE | Optional | string | Reverse date in format mm/dd/yyyy . Must be greater than BATCH_DATE . |
BATCH_TITLE | Required | string | Description of entry |
TAXIMPLICATIONS | Optional | string | Tax implications. Use None , Inbound for purchase tax, or Outbound for sales tax. (Default: None ) (AU, GB, ZA only) |
VATVENDORID | Optional | string | Vendor ID when tax implications is set to Inbound for tax on purchases (AU, GB, ZA only) |
VATCUSTOMERID | Optional | string | Customer ID when tax implications is set to Outbound for tax on sales (AU, GB, ZA only) |
VATCONTACTID | Optional | string | Contact name for the customer SHIPTO contact for sales journals or the vendor ID for the vendor PAYTO contact for purchase journals (AU, GB, ZA only) |
HISTORY_COMMENT | Optional | string | Comment added to history for this transaction |
REFERENCENO | Optional | string | Reference number of transaction |
BASELOCATION_NO | Optional | string | Source entity ID. Required if multi-entity enabled and entries do not balance by entity. |
SUPDOCID | Optional | string | Attachments ID |
STATE | Optional | string | State to create the entry in. Posted to post to the GL, otherwise Draft . (Default: Posted ) |
TAXSOLUTIONID | Optional | string | Tax solution name, such as United Kingdom - VAT or Australia - GST . Required only if the company is configured for multiple tax jurisdictions and the transaction is occurring at the top level of the company. See Tax Solutions for more information. (GB, AU, and ZA only) |
TRANSACTIONSOURCE | Optional | string | The source of the entry. Will be set to BANK if the entry is created from a bank transaction. (Default: Null) |
ENTRIES | Required | GLENTRY[2...n] |
Must have at least two lines (one debit, one credit). |
Custom field name | varies | varies | Custom field names and values as defined for this object. For a multi-pick-list custom field, implode multiple field values with #~# . |
GLENTRY
Name | Required | Type | Description |
---|---|---|---|
DOCUMENT | Optional | string | Document number of entry |
ACCOUNTNO | Required | string | Account number |
CURRENCY | Optional | string | Transaction currency code. Required if multi-currency enabled. |
TRX_AMOUNT | Required | currency | Transaction amount. Absolute value, relates to TR_TYPE . |
TR_TYPE | Required | string | Transaction type. 1 for Debit, otherwise -1 for Credit. |
EXCH_RATE_DATE | Optional | string | Exchange rate date in format mm/dd/yyyy . If null, defaults to BATCH_DATE . |
EXCH_RATE_TYPE_ID | Optional | string | Exchange rate type. Required if multi-currency enabled and EXCHANGE_RATE left blank. (Default custom ) |
EXCHANGE_RATE | Optional | currency | Exchange rate. Required if multi currency enabled and EXCH_RATE_TYPE_ID left blank. Exchange rate amount to 4 decimals. |
DESCRIPTION | Optional | string | Memo. If left blank, set this value to match BATCH_TITLE . |
ALLOCATION | Optional | string | Allocation ID. All other dimension elements are ignored if allocation is set. Use Custom for custom splits and see SPLIT element below. |
DEPARTMENT | Optional | string | Department ID |
LOCATION | Optional | string | Location ID. Required if multi-entity enabled. |
PROJECTID | Optional | string | Project ID |
TASKID | Optional | string | Task ID. Only available when the parent PROJECTID is also specified. |
COSTTYPEID | Optional | string | Cost type ID. Only available when PROJECTID and TASKID are specified. (Construction subscription) |
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 |
BILLABLE | Optional | string | Billable option for project-related transactions imported into the GL through external systems. Use true for billable transactions (Default: false ). See the Sage Intacct product help for project configuration information. |
SPLIT | Optional | SPLIT [] |
Custom allocation split. Required if ALLOCATION equals Custom . Multiple SPLIT elements may then be passed. |
TAXENTRIES | Optional | TAXENTRY[1] |
Tax entry for the line (AU, GB, ZA only) |
Custom field name | varies | varies | Custom field names and values as defined for this object. For a multi-pick-list custom field, implode multiple field values with #~# . |
TAXENTRY
(AU, GB, ZA only)
Specifies a tax rate (defined in the system) and a manually calculated tax for the journal entry.
Name | Required | Type | Description |
---|---|---|---|
DETAILID | Required | string | Tax rate specified via the unique ID of a tax detail |
TRX_TAX | Required | currency | Transaction tax, which is your manually calculated value for the tax. |
SPLIT
Name | Required | Type | Description |
---|---|---|---|
AMOUNT | Required | currency | Split transaction amount. Absolute value. All SPLIT element’s AMOUNT values must sum up to equal GLENTRY element’s TRX_AMOUNT |
DEPARTMENTID | Optional | string | Department ID |
Optional | string | LOCATIONID of an active location. Required if company is multi-entity enabled. |
|
PROJECTID | Optional | string | Project ID |
TASKID | Optional | string | Task ID. Only available when the parent PROJECTID is also specified. |
COSTTYPEID | Optional | string | Cost type ID. Only available when PROJECTID and TASKID are specified. (Construction subscription) |
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 |
Create Journal Entry (Legacy)
Release | Changes |
---|---|
2020 Release 2 | Added costtypeid |
2019 Release 4 | Added taskid |
create_gltransaction
Parameters
Name | Required | Type | Description |
---|---|---|---|
journalid | Required | string | GL journal symbol. This determines the type of journal entry as visible in the UI, for example, Regular, Adjustment, User-defined, Statistical, GAAP, Tax, and so forth. |
datecreated | Required | object | Posting date |
reversedate | Optional | object | Reverse date. Must be greater than posting date. |
description | Required | string | Description of entry |
referenceno | Optional | string | Reference number of transaction |
sourceentity | Optional | string | Source entity ID. Required if multi-entity enabled and entries do not balance by entity. |
customfields | Optional | array of customfield |
Custom fields |
gltransactionentries | Required | GLENTRY[2...n] |
Must have at least two lines (one debit, one credit). |
datecreated
Name | Required | Type | Description |
---|---|---|---|
year | Required | string | Year yyyy |
month | Required | string | Month mm |
day | Required | string | Day dd |
reversedate
Name | Required | Type | Description |
---|---|---|---|
year | Required | string | Year yyyy |
month | Required | string | Month mm |
day | Required | string | Day dd |
customfield
Name | Required | Type | Description |
---|---|---|---|
customfieldname | Optional | string | Custom field ID |
customfieldvalue | Optional | varies | Custom field value. For a multi-pick-list custom field, implode multiple field values with #~# . |
glentry
Name | Required | Type | Description |
---|---|---|---|
trtype | Required | string | Transaction type. Use debit or credit . |
amount | Required | currency | Transaction amount. Absolute value, relates to trtype . |
glaccountno | Required | string | Account number |
document | Optional | string | Document number of entry |
memo | Optional | string | Memo. If left blank, set this value to match journal entry description. |
Optional | string | LOCATIONID of an active location. Required if company is multi-entity enabled. |
|
departmentid | Optional | string | Department ID |
customerid | Optional | string | Customer ID |
vendorid | Optional | string | Vendor ID |
employeeid | Optional | string | Employee ID |
projectid | Optional | string | Project ID |
taskid | Optional | string | Task ID. Only available when the parent projectid is also specified. |
costtypeid | Optional | string | Cost type ID. Only available when projectid and taskid are specified. (Construction subscription) |
itemid | Optional | string | Item ID |
classid | Optional | string | Class ID |
contractid | Optional | string | Contract ID |
warehouseid | Optional | string | Warehouse ID |
customfields | Optional | array of customfield |
Custom fields |
currency | Optional | string | Transaction currency code. Required if multi-currency enabled. |
exchratedate | Optional | string | Exchange rate date in format mm/dd/yyyy . If null, defaults to journal entry posting date. |
exchratetype | Optional | string | Exchange rate type. Required if multi-currency enabled and exchrate left blank. (Default Intacct Daily Rate ) |
exchrate | Optional | currency | Exchange rate. Required if multi currency enabled and exchratetype left blank. Exchange rate amount to 4 decimals. |
Update Journal Entry
Release | Changes |
---|---|
2020 Release 2 | Added COSTTYPEID |
2019 Release 4 | Added TASKID |
2019 Release 3 | Added TAXIMPLICATIONS, VATVENDORID, VATCUSTOMERID, VATCONTACTID, TAXENTRIES |
To add an entry, supply all the original entries along with the new one. To delete an entry, supply only the entries you want to keep.
update
Parameters
Name | Required | Type | Description |
---|---|---|---|
GLBATCH | Required | object | Object to update |
GLBATCH
Name | Required | Type | Description |
---|---|---|---|
RECORDNO | Required | integer | Journal entry RECORDNO to update |
BATCH_DATE | Required | string | Posting date in format mm/dd/yyyy |
BATCH_TITLE | Required | string | Description of entry |
TAXIMPLICATIONS | Optional | string | Tax implications. Use None , Inbound for purchase tax, or Outbound for sales tax. (AU, GB, ZA only) |
VATVENDORID | Optional | string | Vendor ID when tax implications is set to Inbound for tax on purchases (AU, GB, ZA only) |
VATCUSTOMERID | Optional | string | Customer ID when tax implications is set to Outbound for tax on sales (AU, GB, ZA only) |
VATCONTACTID | Optional | string | Contact name for the customer SHIPTO contact for sales journals or the vendor ID for the vendor PAYTO contact for purchase journals (AU, GB, ZA only) |
HISTORY_COMMENT | Optional | string | Comment added to history for this transaction. |
REFERENCENO | Optional | string | Reference number of transaction |
BASELOCATION_NO | Optional | string | Source entity ID. Required if multi-entity enabled and entries do not balance by entity. |
SUPDOCID | Optional | string | Attachments ID |
STATE | Optional | string | State to update the entry to. Posted to post to the GL, otherwise Draft . |
ENTRIES | Required | GLENTRY[2...n] |
Must have at least two lines (one debit, one credit). |
Custom field name | varies | varies | Custom field names and values as defined for this object. For a multi-pick-list custom field, implode multiple field values with #~# . |
GLENTRY
(AU, GB, ZA) You must include any existing tax entries in order to retain them. To delete a tax entry, perform an update and omit the TAXENTRIES
for the line. To modify a tax entry, provide the record number and the new values for the entry’s parameters.
Name | Required | Type | Description |
---|---|---|---|
DOCUMENT | Optional | string | Document number of entry |
ACCOUNTNO | Required | string | Account number |
CURRENCY | Optional | string | Transaction currency code. Required if multi-currency enabled. |
TRX_AMOUNT | Required | currency | Transaction amount. Absolute value, relates to TR_TYPE . |
TR_TYPE | Required | string | Transaction type. 1 for Debit, otherwise -1 for Credit. |
EXCH_RATE_DATE | Optional | string | Exchange rate date in format mm/dd/yyyy . If null, defaults to BATCH_DATE . |
EXCH_RATE_TYPE_ID | Optional | string | Exchange rate type. Required if multi-currency enabled and EXCHANGE_RATE left blank. (Default custom ) |
EXCHANGE_RATE | Optional | currency | Exchange rate. Required if multi currency enabled and EXCH_RATE_TYPE_ID left blank. Exchange rate amount to 4 decimals. |
DESCRIPTION | Optional | string | Memo. If left blank, set this value to match BATCH_TITLE . |
ALLOCATION | Optional | string | Allocation ID. All other dimension elements are ignored if allocation is set. Use Custom for custom splits and see SPLIT element below. |
DEPARTMENT | Optional | string | Department ID |
LOCATION | Optional | string | Location ID. Required if multi-entity enabled. |
PROJECTID | Optional | string | Project ID |
TASKID | Optional | string | Task ID. Only available when the parent PROJECTID is also specified. |
COSTTYPEID | Optional | string | Cost type ID. Only available when PROJECTID and TASKID are specified. (Construction subscription) |
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 |
BILLABLE | Optional | string | Billable option for project-related transactions imported into the GL through external systems. Use true for billable transactions (Default: false ). See the Sage Intacct product help for project configuration information. |
SPLIT | Optional | SPLIT [] |
Custom allocation split. Required if ALLOCATION equals Custom . Multiple SPLIT elements may then be passed. |
TAXENTRIES | Optional | TAXENTRY[1] |
Tax entry for the line (AU, GB, ZA only) |
Custom field name | varies | varies | Custom field names and values as defined for this object. For a multi-pick-list custom field, implode multiple field values with #~# . |
TAXENTRY
(AU, GB, ZA only)
Specifies a tax rate (defined in the system) and a manually calculated tax for the journal entry.
Name | Required | Type | Description |
---|---|---|---|
RECORDNO | Optional | integer | Record number of an existing tax entry (associated with this line) that you want to modify. You can omit this parameter to create a new tax entry. |
DETAILID | Required | string | Tax rate specified via the unique ID of a tax detail |
TRX_TAX | Required | currency | Transaction tax, which is your manually calculated value for the tax. |
SPLIT
Name | Required | Type | Description |
---|---|---|---|
AMOUNT | Required | currency | Split transaction amount. Absolute value. All SPLIT element’s AMOUNT values must sum up to equal GLENTRY element’s TRX_AMOUNT . |
DEPARTMENTID | Optional | string | Department ID |
Optional | string | LOCATIONID of an active location. Required if company is multi-entity enabled. |
|
PROJECTID | Optional | string | Project ID |
TASKID | Optional | string | Task ID. Only available when the parent PROJECTID is also specified. |
COSTTYPEID | Optional | string | Cost type ID. Only available when PROJECTID and TASKID are specified. (Construction subscription) |
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 Journal Entry
delete
Parameters
Name | Required | Type | Description |
---|---|---|---|
object | Required | string | Use GLBATCH |
keys | Required | string | Comma-separated list of journal entry RECORDNO to delete |
Delete Journal Entry (Legacy)
delete_gltransaction
Parameters
Name | Required | Type | Description |
---|---|---|---|
key | Required | string | Journal entry record number to delete |
Journal Entry Lines
Get Journal Entry Line Object Definition
lookup
List all the fields and relationships for the journal entry line object:
Parameters
Name | Required | Type | Description |
---|---|---|---|
object | Required | string | Use GLENTRY |
Query and List Journal Entry Lines
query
List the record number, batch number, and amount for each journal entry line:
List journal entry lines for a journal whose record number is 6679:
Parameters
Name | Required | Type | Description |
---|---|---|---|
object | Required | string | Use GLENTRY |
filter | Optional | object | Filter expression to limit the response to only objects that match the expression. Check the value of a single field using operators such as equalto/like, or multiple fields using and/or. Query fields on related objects using the dot operator (for example, VENDOR.CREDITLIMIT on APBILL). |
select | Required | sequence | The names of the fields that you want included in the response, and an optional aggregate function such as count or sum . Returning all fields is not supported. |
orderby | Optional | object | Provide an order element with a field name and choose an ascending or descending sort order, for example: <order> |
options | Optional | object | Query options:
|
pagesize | Optional | integer | Maximum number of matching objects to return in the response, between 1 and 2000 items (Default: 100 ) |
offset | Optional | integer | Point at which to start indexing into records (Default: 0 ) |
Query and List Journal Entry Lines (Legacy)
readByQuery
Lists journal entry lines:
Lists journal entry lines for a journal whose record number is 6679:
The above function returns data structured like this:
Parameters
Name | Required | Type | Description |
---|---|---|---|
object | Required | string | Use GLENTRY |
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. The following operators are supported: < , > , >= , <= , = , like , not like , in , not in , IS NOT NULL , IS NULL , AND , OR . Illegal XML characters must be properly encoded, and single quotes must be escaped with backslashes ('Jane\'s Deli' ). Joins are not supported. |
pagesize | Optional | integer | Custom page size between 1 and 1000 items (Default: 100 ) |
Get Journal Entry Line
read
Parameters
Name | Required | Type | Description |
---|---|---|---|
object | Required | string | Use GLENTRY |
keys | Required | string | Comma-separated list of journal entry line RECORDNO to get |
fields | Optional | string | Comma-separated list of fields on the object to get. To return all fields, omit the element or provide * for the value.For best performance and predictability, limit the number of fields. |
returnFormat | Optional | string | Data format for the response body:
|