openapi: 3.0.0
info:
title: General Ledger
description: >
The General Ledger is where a company creates and maintains accounts,
journals, and financial reports. You use the General Ledger to post journal
entries, design and run reports, create budgets, and more. Other Sage
Intacct subscriptions automatically post transactions to the General Ledger
in real-time.
version: '1.0'
servers:
- url: https://api.intacct.com/ia/api/v1-beta2
description: Open Beta
tags:
- name: Accounts
description: >-
General Ledger accounts are where a company posts balance sheet, income
statement, and statistical transactions. Accounts make it easier to keep
track of the transaction type, such as Accounts Payable, Accounts
Receivable, Inventory, and their various subaccounts. The list of all of a
company's General Ledger accounts is called its Chart of Accounts.
x-displayName: Accounts
- name: Statistical accounts
description: >-
Statistical accounts are used to track non-financial data, such as
employee headcount, number of members, or even the number of rooms in a
hotel.
x-displayName: Statistical accounts
- name: Account groups
description: >-
Account groups are the fundamental building blocks of financial reporting.
Every account must be part of an account group if its data is to be used
in a balance sheet, income statement, cash flow, or other report. The most
basic types of account groups contain either individual accounts or other
account groups.
Please be aware that this object is
currently "Uncertified" in our open beta, signifying that it has not
undergone the complete review process and the design may change during
ongoing refinement. Users are advised to exercise discretion in using this
object and are encouraged to provide feedback.
x-displayName: Account groups
- name: Account group purposes
description: >-
Account group purposes let you filter account groups according to why you
might use them, which is particularly useful in financial reporting. You
create account group purposes, which you can then specify when creating or
updating your account groups.
x-displayName: Account group purposes
- name: Journals
description: >-
Journals serve to categorize transactions that are directly entered in the
General Ledger and the transactions that are posted from subledgers such
as Accounts Payable. For more information see [What journals do you
need?](https://www.intacct.com/ia/docs/en_US/help_action/General_Ledger/Setup/Journals/add-edit-journals.htm#Whatjournalsdoyouneed)
x-displayName: Journals
- name: Journal entries
description: >-
Use journal entries to add, edit, or reverse transactions to a journal.
When writing journal entries, be sure to balance the general ledger by
posting offsetting entries.
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.
x-displayName: Journal entries
- name: Journal entry lines
description: >-
Journal entry lines represent transactions. They can be posted right away,
submitted for approval if Approvals are enabled, or saved as a draft.
You create and update journal entry lines by creating or updating the
[journal-entry objects](general-ledger-journal-entry) that contain those
lines.
x-displayName: Journal entry lines
- name: Statistical journals
description: >
Statistical journals hold all non-monetary journal entries and do not have
a debit or credit as a transaction. Instead, statistical journals simply
increase or decrease a value.
x-displayName: Statistical journals
- name: Statistical journal entries
description: >-
Use statistical journal entries to add, edit, or reverse transactions to a
statistical journal.
x-displayName: Statistical journal entries
- name: Statistical journal entry lines
description: >-
Statistical journal entry lines represent transactions. They can be posted
right away, submitted for approval if Approvals are enabled, or saved as a
draft.
You create and update journal entry lines by creating or updating the
[journal-entry objects](journal-entry) that contain those lines.
x-displayName: Statistical journal entry lines
- name: Budgets
description: >-
A budget is a plan to help estimate revenue and expenses for operations.
The `budget` object is essentially a header that contains an array of
`budget-detail` objects.\n\nBefore you can create or import a budget,
[several items in Sage Intacct must be set
up](https://www.intacct.com/ia/docs/en_US/help_action/General_Ledger/Budgets_and_spending/Budgets/before-creating-your-budgets.htm):
* Budgetable reporting periods: Reporting periods must exist and must be
marked as Budgetable. Most often, budgetable periods are monthly.
* Accounts: Each account for which you want to create a budget must exist
in the Chart of Accounts.
* Dimensions: Although using dimensions in budgets isn't required,
dimensions such as Location, Department, or Employee can be included in a
budget if they've been created in Intacct.
Please be aware that this object is currently
"Uncertified" in our open beta, signifying that it has not undergone the
complete review process and the design may change during ongoing
refinement. Users are advised to exercise discretion in using this object
and are encouraged to provide feedback.
x-displayName: Budgets
- name: Budget details
description: >
A budget detail is a unique combination of account, department, location,
and reporting period. (Department and location are optional.) If you want
to track travel expenses for 3 locations, you would need 3 budget detail
objects _per reporting period_:
1. Travel Expenses account, Location A
2. Travel Expenses account, Location B
3. Travel Expenses account, Location C
A `budget-detail` object corresponds to what is seen on the Budget amount
details page for a specific reporting period in Sage Intacct.
Note: `budget-detail` objects can only be created and updated through the
owning `budget` object.
x-displayName: Budget details
- name: Reporting periods
description: >-
Reporting periods are used when creating reports and budgets, and when
opening and closing books. They limit the information in a report to
specific time ranges.
x-displayName: Reporting periods
- name: Transaction allocation templates
description: >-
Transaction allocation templates (definitions) provide a way to save
standard allocation combinations that are used routinely. You can define
an allocation transaction to distribute amounts across multiple
dimensions—such as departments, locations, projects, or
classes—automatically.
You can allocate a percentage, a set (absolute) value, or a fixed amount
with over/under logic. Each of these methods takes the transaction line
amount and allocates it across the dimensions specified in the transaction
allocation template.
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 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.Please be aware that this object is currently
"Uncertified" in our open beta, signifying that it has not undergone the
complete review process and the design may change during ongoing
refinement. Users are advised to exercise discretion in using this object
and are encouraged to provide feedback.
x-displayName: Transaction allocation templates
- name: Transaction allocation template lines
description: >-
Transaction allocation template lines define how allocations are
distributed. Allocation template lines can only be added, updated, and
deleted through the owning txn-allocation-template object.
x-displayName: Transaction allocation template lines
paths:
/objects/general-ledger/account:
get:
summary: List accounts
description: >+
Returns up to 100 accounts from the collection with a key, ID, and link
for each account. This operation is mostly for use in testing; use the
query service to find accounts that meet certain criteria and to specify
the properties that you want in the response.
Permissions and other requirements
Subscription | Company |
User type | Business, Employee, Project Manager,
and Warehouse |
Permissions | List, View Accounts |
tags:
- Accounts
operationId: list-general-ledger-account
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: List of account objects
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
List of gl-accounts:
value:
ia::result:
- key: '406'
id: '9999'
href: /objects/general-ledger/account/406
- key: '407'
id: '1501.06'
href: /objects/general-ledger/account/407
- key: '16'
id: '1007'
href: /objects/general-ledger/account/16
ia::meta:
totalCount: 3
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
post:
summary: Create an account
description: >+
Creates a new general ledger account.
Permissions and other requirements
Subscription | Company |
User type | Business user with admin
privileges |
Permissions | Add Accounts |
tags:
- Accounts
operationId: create-general-ledger-account
requestBody:
description: Account to create
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-account'
- $ref: '#/components/schemas/general-ledger-accountRequiredProperties'
examples:
Create an account:
value:
id: '1501'
name: Vehicle Spare parts - Transmission
accountType: balanceSheet
closingType: nonClosingAccount
normalBalance: debit
alternativeGLAccount: none
status: active
requireDimensions:
department: false
location: false
isTaxable: false
disallowDirectPosting: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
title: New account
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Account created:
value:
ia::result:
key: '356'
id: '1501'
href: /objects/general-ledger/account/356
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/account/{key}:
parameters:
- name: key
description: System-assigned key for the account.
in: path
schema:
type: string
required: true
example: '411'
get:
summary: Get an account
description: >+
Returns detailed information for a specified account.
Permissions and other requirements
Subscription | Company |
User type | Business, Employee, Project Manager,
and Warehouse |
Permissions | List, View Accounts |
operationId: get-general-ledger-account-key
tags:
- Accounts
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Details of the account
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-account'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Get an account:
value:
ia::result:
key: '356'
id: '1501'
name: Vehicle Spare parts - Transmission
accountType: balanceSheet
normalBalance: debit
closingType: nonClosingAccount
closeToGLAccount:
id: null
key: null
status: active
requireDimensions:
department: false
location: false
project: false
customer: false
vendor: false
employee: false
item: false
class: false
contract: false
warehouse: false
isTaxable: false
category: null
taxCode: null
mrcCode: null
alternativeGLAccount: none
audit:
createdDateTime: '2022-10-15T00:05:46Z'
modifiedDateTime: '2022-10-15T00:05:46Z'
createdBy: '68'
modifiedBy: '68'
disallowDirectPosting: true
href: /objects/general-ledger/account/356
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
patch:
summary: Update an account
description: >+
Updates an existing account by setting field values. Any fields not
provided remain unchanged.
An account `id` (account number) can only be changed if the General
Ledger is configured to allow changes to account numbers and by users
who have permission to change financial account numbers. Changing
account numbers affects important aspects of Sage Intacct such as
reports, data imports, historical information, and automation.
Permissions and other requirements
Subscription | Company |
User type | Business user with admin
privileges |
Permissions | Edit Accounts |
tags:
- Accounts
operationId: update-general-ledger-account-key
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-account'
examples:
Enable direct posting:
value:
disallowDirectPosting: false
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Account updated
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Simple PATCH response:
value:
ia::result:
key: '356'
id: '1501'
href: /objects/general-ledger/account/356
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
delete:
summary: Delete an account
description: >+
Deletes an account. You cannot delete an account if the account is used
in a book transaction. Deleted accounts cannot be recovered.
Permissions and other requirements
Subscription | Company |
User type | Business user with admin
privileges |
Permissions | Delete Accounts |
tags:
- Accounts
operationId: delete-general-ledger-account-key
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/statistical-account:
get:
summary: List statistical accounts
description: >+
Returns up to 100 statistical GL accounts from the collection with a
key, ID, and link for each account. This operation is mostly for use in
testing; use the query service to find statistical GL accounts that meet
certain criteria and to specify the properties that you want in the
response.
Permissions and other requirements
Subscription | Company |
User type | Business, Employee, Project Manager,
and Warehouse |
Permissions | List, View Statistical
Accounts |
tags:
- Statistical accounts
operationId: list-statistical-account
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Statistical accounts list
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
List of statistical GL accounts:
value:
ia::result:
- key: '397'
id: '9001'
href: /objects/general-ledger/statistical-account/397
- key: '398'
id: '9002'
href: /objects/general-ledger/statistical-account/398
- key: '399'
id: '9003'
href: /objects/general-ledger/statistical-account/399
ia::meta:
totalCount: 3
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
post:
summary: Create a statistical account
description: >+
Creates a new statistical account. You should assign a completely
different account range to statistical accounts so that they are not
inadvertently grouped with general ledger accounts. Statistical accounts
can be consolidated similarly to general ledger accounts, if you have a
consolidated structure of companies with subsidiaries.
Individual statistical accounts are typically rolled up into account
groups for use in reports.
Permissions and other requirements
Subscription | Company, General Ledger |
User type | Business user with admin
privileges |
Permissions | Add Statistical Accounts |
tags:
- Statistical accounts
operationId: create-statistical-account
requestBody:
description: ''
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-statistical-account'
- $ref: '#/components/schemas/general-ledger-statistical-accountRequiredProperties'
examples:
Create a statistical account:
value:
id: '9030'
name: Customer Account
reportType: forPeriod
status: active
requireDimensions:
department: true
location: true
isTaxable: false
category: Customers
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
title: New statistical account
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Created Statistical Account:
value:
ia::result:
key: '439'
id: '9030'
href: /objects/general-ledger/statistical-account/439
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/statistical-account/{key}:
parameters:
- name: key
description: System-assigned key for the statistical account.
in: path
required: true
schema:
type: string
example: '439'
get:
summary: Get a statistical account
description: >+
Returns detailed information for a specified statistical account.
Permissions and other requirements
Subscription | Company |
User type | Business, Employee, Project Manager,
and Warehouse |
Permissions | List, View Statistical
Accounts |
tags:
- Statistical accounts
operationId: get-statistical-account-key
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Details of the statistical account
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-statistical-account'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Details of Statistical Account:
value:
ia::result:
key: '397'
id: '9001'
name: Customer Account
reportType: forPeriod
status: active
audit:
modifiedDateTime: '2023-10-21T04:55:32Z'
createdDateTime: '2023-09-20T11:29:30Z'
createdBy: '1'
modifiedBy: '1'
requireDimensions:
department: false
location: false
project: false
customer: false
vendor: false
employee: false
item: false
class: false
isTaxable: true
category: Customers
href: /objects/general-ledger/statistical-account/397
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
patch:
summary: Update a statistical account
description: >+
Updates an existing statistical account by setting field values. Any
fields not provided remain unchanged.
Permissions and other requirements
Subscription | Company |
User type | Business user with admin
privileges |
Permissions | Edit Statistical
Accounts |
tags:
- Statistical accounts
operationId: update-statistical-account-key
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-statistical-account'
examples:
Change name and taxable status:
value:
name: Customer Accounts
isTaxable: true
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Updated statistical account
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Updated Statistical Account:
value:
ia::result:
key: '397'
id: '9001'
href: /objects/general-ledger/statistical-account/397
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
delete:
summary: Delete a statistical account
description: >+
Deletes a statistical account. You can delete an account from the
Accounts list unless the account is used in a book transaction. Deleted
accounts cannot be recovered.
Permissions and other requirements
Subscription | Company, General Ledger |
User type | Business, Employee |
Permissions | Delete Statistical
Accounts |
tags:
- Statistical accounts
operationId: delete-statistical-account-key
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/account-group:
get:
summary: List account groups
description: >-
Returns up to 100 account groups from the collection with a key, ID, and
link for each group. This operation is mostly for use in testing; use
the query service to find account groups that meet specific criteria and
to specify the properties that you want in the response.
tags:
- Account groups
operationId: list-general-ledger-account-group
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: List of account group objects
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
List of account groups:
value:
ia::result:
- key: '1'
id: Accts_Payable
href: /objects/general-ledger/account-group/1
- key: '2'
id: Accts_Receivable
href: /objects/general-ledger/account-group/2
ia::meta:
totalCount: 2
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
post:
summary: Create an account group
description: Creates a new account group.
tags:
- Account groups
operationId: create-general-ledger-account-group
requestBody:
description: Account group to create
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-account-group'
- $ref: '#/components/schemas/general-ledger-account-groupRequiredProperties'
examples:
Creates a GL account group: {}
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
title: New gl-account-group
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
New GL account group:
value:
ia::result:
key: '41'
id: Budget1
href: /objects/general-ledger/account-group/41
ia::meta:
totalCount: 1
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/account-group/{key}:
parameters:
- name: key
description: System-assigned key for the account group.
in: path
required: true
schema:
type: string
get:
summary: Get an account group
description: Returns detailed information for a specified account group.
tags:
- Account groups
operationId: get-general-ledger-account-group-key
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Details of the account group
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-account-group'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
GL account group details: {}
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
patch:
summary: Update an account group
description: >-
Updates an existing account group by setting field values. Any fields
not provided remain unchanged.
tags:
- Account groups
operationId: update-general-ledger-account-group-key
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-account-group'
- type: object
properties:
id:
readOnly: true
examples:
Update a GL account group: {}
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Updated gl-account-group
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
GL account group updated:
value:
ia::result:
key: '21'
id: Accts_Payable
href: /objects/general-ledger/account-group/21
ia::meta:
totalCount: 1
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
delete:
summary: Delete an account group
description: Deletes an account group.
tags:
- Account groups
operationId: delete-general-ledger-account-group-key
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/account-group-purpose:
get:
summary: List account group purposes
description: >-
Returns up to 100 account group purposes from the collection with a key,
ID, and link for each purpose. This operation is mostly for use in
testing; use the query service to find account group purposes that meet
specific criteria and to specify the properties that you want in the
response.
tags:
- Account group purposes
operationId: list-general-ledger-account-group-purpose
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: List of account-group-purpose objects
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
List of account groups purposes:
value:
ia::result:
- key: '1'
id: Budgeted Expenses
href: /objects/general-ledger/account-group-purposes/19
- key: '2'
id: Capital Expenses
href: /objects/general-ledger/account-group-purposes/21
ia::meta:
totalCount: 2
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
post:
summary: Create an account group purpose
description: Creates a new account group purpose.
tags:
- Account group purposes
operationId: create-general-ledger-account-group-purpose
requestBody:
description: Account group purpose to create
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-account-group-purpose'
- $ref: '#/components/schemas/general-ledger-account-group-purposeRequiredProperties'
examples:
Creates an account group purpose:
value:
id: Budget1
status: active
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
title: Reference to new account group purpose
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Reference to new account group purpose:
value:
ia::result:
key: '35'
id: Budget1
href: /objects/general-ledger/account-group-purpose/35
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/account-group-purpose/{key}:
parameters:
- name: key
description: System-assigned key for the account group purpose.
in: path
required: true
schema:
type: string
get:
summary: Get an account group purpose
description: Returns detailed information for a specified GL account group purpose.
tags:
- Account group purposes
operationId: get-general-ledger-account-group-purpose-key
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Details of the account group purpose
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-account-group-purpose'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Details of the account group purpose:
value:
ia::result:
id: P&L - New
status: active
key: '32'
audit:
createdDateTime: '2021-02-22T16:30:48Z'
modifiedDateTime: '2021-02-22T16:30:48Z'
createdBy: '1'
modifiedBy: '1'
href: /objects/general-ledger/account-group-purpose/32
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
patch:
summary: Update a GL account group purpose
description: >-
Updates an existing account group purpose by setting field values. Any
fields not provided remain unchanged.
tags:
- Account group purposes
operationId: update-general-ledger-account-group-purpose-key
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/general-ledger-account-group-purpose'
examples:
Update an account group purpose:
value:
id: Budgeted Expenses
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Reference to updated account group purpose
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Reference to updated account group purpose:
value:
ia::result:
key: '35'
id: Budgeted Expenses
href: /objects/general-ledger/account-group-purpose/35
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
delete:
summary: Delete an account group purpose
description: Deletes an account group purpose.
tags:
- Account group purposes
operationId: delete-general-ledger-account-group-purpose-key
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/journal:
get:
summary: List journals
description: >+
Returns up to 100 journals from the collection with a key, ID, and link
for each journal. This operation is mostly for use in testing; use the
query service to find journals that meet certain criteria and to specify
the properties that you want in the response.
Permissions and other requirements
Subscription | General Ledger |
User type | Business, Employee, Approver,
Project Manager, and Warehouse |
Permissions | List, View Journals |
tags:
- Journals
operationId: list-general-ledger-journal
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
List of GL Journals:
value:
ia::result:
- key: '1'
id: AR
href: /objects/general-ledger/journal/1
- key: '2'
id: AP
href: /objects/general-ledger/journal/2
- key: '14'
id: ADJ
href: /objects/general-ledger/journal/14
ia::meta:
totalCount: 3
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
post:
summary: Create a journal
description: >-
Creates a new journal object. New journals are immediately available for
users to enter journal entries through the General Ledger. They are also
available to be used in the configuration of other applications. For
example, you might create a Labor Cost journal to be used by the
Projects application.
tags:
- Journals
operationId: create-general-ledger-journal
requestBody:
description: Journal to create
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-journal'
- $ref: '#/components/schemas/general-ledger-journalRequiredProperties'
examples:
Create a journal:
value:
id: EJ
name: Expense Journal
bookType: accrual
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Journal created:
value:
ia::result:
key: '3'
id: EJ
href: /objects/general-ledger/journal/3
ia::meta:
totalCount: 1
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/journal/{key}:
parameters:
- name: key
description: System-assigned key for the journal.
in: path
schema:
type: string
required: true
example: '411'
get:
summary: Get a journal
description: >+
Returns detailed information for a specified journal.
Permissions and other requirements
Subscription | General Ledger |
User type | Business, Employee, Approver,
Project Manager, and Warehouse |
Permissions | List, View Journals |
tags:
- Journals
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-journal'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Single gl-journal:
value:
ia::result:
key: '3'
id: EJ
status: active
name: Expense Journal
isAdjustment: true
bookId: Accrual
bookType: accrual
audit:
createdDateTime: '2023-01-20T10:25:30Z'
modifiedDateTime: '2023-11-02T08:30:22Z'
createdBy: '68'
modifiedBy: '72'
isBillable: false
href: /objects/general-ledger/journal/3
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
operationId: get-general-ledger-journal-key
security:
- OAuth2: []
patch:
summary: Update a journal
description: >+
Updates an existing journal by setting field values. Any fields not
provided remain unchanged.
Permissions and other requirements
Subscription | General Ledger |
User type | Business user with admin
privileges |
Permissions | Edit Journals |
tags:
- Journals
operationId: update-general-ledger-journal-key
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/general-ledger-journal'
examples:
Change the name and billable status of a journal:
value:
name: Expense Journal
isBillable: true
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Update gl-journal successful:
value:
ia::result:
key: '3'
id: EJ
href: /objects/general-ledger/journal/3
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
delete:
summary: Delete a journal
description: >+
Deletes a journal. You can only delete a journal if it does not have any
transactions in it. Deleted journals cannot be recovered.
Permissions and other requirements
Subscription | General Ledger |
User type | Business user with admin
privileges |
Permissions | Delete Journals |
tags:
- Journals
operationId: delete-general-ledger-journal-key
responses:
'200':
description: OK
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/journal-entry:
get:
summary: List journal entries
description: >+
Returns up to 100 journal entries from the collection with a key, ID,
and link for each entry. This operation is mostly for use in testing;
use the query service to find journal entries that meet certain criteria
and to specify the properties that you want in the response.
Permissions and other requirements
Subscription | General Ledger |
User type | Business user with Admin privileges,
Employee, Payment Approver |
Permissions | List, View Journal
Entries |
tags:
- Journal entries
operationId: list-general-ledger-journal-entry
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: List of journal entry objects
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
list of journal entries:
value:
ia::result:
- key: '256'
id: '256'
href: /objects/general-ledger/journal-entry/256
- key: '132'
id: '132'
href: /objects/general-ledger/journal-entry/132
- key: '56'
id: '56'
href: /objects/general-ledger/journal-entry/56
ia::meta:
totalCount: 3
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
post:
summary: Create a journal entry
description: >+
Creates a new journal entry (transaction). You can post a transaction to
a journal right away, or save it as a draft.
- Draft transactions do not have to be complete; they can be reviewed
and updated before they are posted.
- In order to post a journal entry, the entire transaction must balance
and all required information must be entered.
Permissions and other requirements
Subscription | General Ledger, Projects (for
revenue recognition of projects) |
User type | Business |
Permissions | Add Journal Entries |
tags:
- Journal entries
operationId: create-general-ledger-journal-entry
requestBody:
description: Journal entry to create
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-journal-entry'
- $ref: '#/components/schemas/general-ledger-journal-entryRequiredProperties'
- type: object
properties:
state:
type: string
description: >-
State of the entry. The only valid values when creating
a new entry are `posted` (default) to post to the GL,
and `draft`.
enum:
- draft
- posted
default: posted
examples:
Create a journal entry:
value:
glJournal:
id: GJ
postingDate: '2022-04-01'
description: March Revenue Posting
lines:
- lineNumber: 1
txnType: credit
entryDate: '2022-04-01'
txnAmount: '200'
glAccount:
id: '1000'
dimensions:
department:
key: '11'
location:
key: '192'
documentId: Revenue_attachment
- lineNumber: 2
txnType: debit
entryDate: '2022-04-01'
txnAmount: '200'
glAccount:
id: '1000'
dimensions:
department:
key: '11'
location:
key: '192'
documentId: Revenue_attachment
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
title: New journal-entry
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Sample POST response:
value:
ia::result:
key: '41'
id: '41'
href: /objects/general-ledger/journal-entry/41
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/journal-entry/{key}:
parameters:
- name: key
description: System-assigned key for the journal entry.
in: path
required: true
schema:
type: string
example: '132'
get:
summary: Get journal entry
description: Returns detailed information for a specified journal entry.
tags:
- Journal entries
operationId: get-general-ledger-journal-entry-key
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Details of the journal entry
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-journal-entry'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Journal entry details:
value:
ia::result:
id: '132'
key: '132'
txnNumber: 40
description: Revenue Entries
glJournal:
key: '23'
id: CRJ
isAdjustment: false
href: /objects/general-ledger/journal/23
postingDate: '2021-09-24'
moduleName: 2.GL
referenceId: CR0
automaticReversalDate: null
reversedBy:
key: null
reversedFromDate: null
baseLocation:
id: null
key: null
audit:
createdDateTime: '2023-06-09T00:33:58Z'
modifiedDateTime: '2023-06-09T00:33:59Z'
createdBy: '68'
modifiedBy: '68'
state: posted
sequenceNumber: null
taxSolutionId:
id: null
accountAllocationRun:
id: null
key: null
lines:
- id: '8434'
key: '8434'
journalEntry:
id: '3235'
key: '3235'
href: /objects/general-ledger/journal-entry/3235
lineNumber: 1
txnType: credit
entryDate: '2021-09-24'
txnAmount: '100'
account:
key: '9'
id: '4000'
name: Revenue
href: /objects/general-ledger/account/9
dimensions:
department:
key: '1'
id: '01'
name: Sales
href: /objects/company-config/department/1
location:
key: '1'
id: CA
name: California
href: /objects/company-config/location/1
class:
key: null
id: null
name: null
item:
key: null
id: null
name: null
customer:
key: null
id: null
name: null
vendor:
key: null
id: null
name: null
project:
key: null
id: null
name: null
employee:
key: null
id: null
name: null
warehouse:
key: null
id: null
name: null
task:
key: null
id: null
name: null
documentId: Revenue_attachment
description: null
numberOfUnits: null
currency:
baseCurrency: USD
txnCurrency: USD
exchangeRateDate: '2023-06-08'
exchangeRateTypeId: null
exchangeRate: 1
accountAllocationTimePeriod: null
allocation:
id: null
key: null
audit:
createdDateTime: '2023-06-09T00:33:58Z'
modifiedDateTime: '2023-06-09T00:33:59Z'
createdBy: '68'
modifiedBy: '68'
state: posted
isBillable: false
isBilled: null
href: /objects/general-ledger/journal-entry-line/8434
- id: '8435'
key: '8435'
journalEntry:
id: '3235'
key: '3235'
href: /objects/general-ledger/journal-entry/3235
lineNumber: 2
transactionType: Debit
entryDate: '2023-06-08'
transactionAmount: 200
glAccount:
key: '81'
id: '1000'
name: Checking
href: /objects/general-ledger/account/81
dimensions:
department:
key: '1'
id: '01'
name: Sales
href: /objects/company-config/department/1
location:
key: '1'
id: CA
name: California
href: /objects/company-config/location/1
class:
key: null
id: null
name: null
item:
key: null
id: null
name: null
customer:
key: null
id: null
name: null
vendor:
key: null
id: null
name: null
project:
key: null
id: null
name: null
employee:
key: null
id: null
name: null
warehouse:
key: null
id: null
name: null
task:
key: null
id: null
name: null
documentId: Revenue_attachment
description: null
numberOfUnits: null
currency:
baseCurrency: USD
txnCurrency: USD
exchangeRateDate: '2023-06-08'
exchangeRateTypeId: null
exchangeRate: 1
accountAllocationTimePeriod: null
allocation:
id: null
key: null
audit:
createdDateTime: '2023-06-09T00:33:59Z'
modifiedDateTime: '2023-06-09T00:33:59Z'
createdBy: '68'
modifiedBy: '68'
state: posted
isBillable: false
isBilled: null
href: /objects/general-ledger/journal-entry-line/8435
href: /objects/general-ledger/journal-entry/3235
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
patch:
summary: Update a journal entry
description: >-
Updates an existing journal entry by setting field values. Any fields
not provided remain unchanged.
tags:
- Journal entries
operationId: update-general-ledger-journal-entry-key
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-journal-entry'
- type: object
properties:
id:
readOnly: true
state:
readOnly: true
examples:
Update 2 lines and add 1:
value:
postingDate: '2023-12-11'
state: posted
lines:
- key: 195
txnType: debit
txnAmount: '100'
glAccount:
id: '1000'
dimensions:
department:
id: '11'
location:
id: '1'
documentId: test
currency:
txnCurrency: USD
- key: 196
txnType: debit
txnAmount: '100'
glAccount:
id: '1000'
dimensions:
department:
id: '11'
location:
id: '1'
documentId: test
currency:
txnCurrency: USD
- txnType: credit
txnAmount: '200'
glAccount:
id: '4000'
dimensions:
department:
id: '11'
location:
id: '1'
documentId: Test1
currency:
txnCurrency: USD
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Updated journal-entry
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Update a single value:
value:
ia::result:
key: '1'
id: '1'
href: /objects/general-ledger/journal-entry/1
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
delete:
summary: Delete a journal entry
description: Deletes a journal entry.
tags:
- Journal entries
operationId: delete-general-ledger-journal-entry-key
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/workflows/general-ledger/journal-entry/submit:
post:
summary: Submit a journal entry
description: Submit a journal entry
tags:
- Journal entries
operationId: submit-general-ledger-journal-entry
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/journal-entry-request'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
ia::result:
$ref: '#/components/schemas/submit-journal-entry-response'
ia::meta:
$ref: '#/components/schemas/metadata'
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/workflows/general-ledger/journal-entry/approve:
post:
summary: Approve a journal entry
description: Approve a journal entry
tags:
- Journal entries
operationId: approve-general-ledger-journal-entry
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/approve-request'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
ia::result:
$ref: '#/components/schemas/approve-response'
ia::meta:
$ref: '#/components/schemas/metadata'
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/workflows/general-ledger/journal-entry/decline:
post:
summary: Decline a journal entry
description: Decline a journal entry
tags:
- Journal entries
operationId: decline-general-ledger-journal-entry
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/decline-journal-entry-request'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
ia::result:
$ref: '#/components/schemas/decline-journal-entry-response'
ia::meta:
$ref: '#/components/schemas/metadata'
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/workflows/general-ledger/journal-entry/recall:
post:
summary: Recall a journal entry
description: Recall a journal entry
tags:
- Journal entries
operationId: recall-general-ledger-journal-entry
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/journal-entry-request'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
ia::result:
$ref: '#/components/schemas/recall-response'
ia::meta:
$ref: '#/components/schemas/metadata'
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/workflows/general-ledger/journal-entry/reverse:
post:
summary: Reverse a journal entry
description: Reverse a journal entry
tags:
- Journal entries
operationId: reverse-general-ledger-journal-entry
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/reverse-request'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
ia::result:
$ref: '#/components/schemas/reverse-response'
ia::meta:
$ref: '#/components/schemas/metadata'
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/workflows/general-ledger/journal-entry/reclassify:
post:
summary: Reclassify a journal entry
description: Reclassify a journal entry
tags:
- Journal entries
operationId: reclassify-general-ledger-journal-entry
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/reclassify-request'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
ia::result:
$ref: '#/components/schemas/reclassify-response'
ia::meta:
$ref: '#/components/schemas/metadata'
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/journal-entry-line:
get:
summary: List journal entry lines
description: >+
Returns up to 100 journal entry lines from the collection with a key,
ID, and link for each entry. This operation is mostly for use in
testing; use the query service to find journal entry lines that meet
certain criteria and to specify the properties that are returned.
Permissions and other requirements
Subscription | General Ledger |
User type | Business user, Employee, Payment
Approver |
Permissions | List, View Journal
Entries |
tags:
- Journal entry lines
operationId: list-general-ledger-journal-entry-line
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: List of journal-entry-line objects
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
Get Journal entry lines:
value:
ia::result:
- key: '2503'
id: '2503'
href: /objects/general-ledger/journal-entry-line/2503
- key: '2499'
id: '2499'
href: /objects/general-ledger/journal-entry-line/2499
- key: '2497'
id: '2497'
href: /objects/general-ledger/journal-entry-line/2497
ia::meta:
totalCount: 3
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/journal-entry-line/{key}:
parameters:
- name: key
description: System-assigned key for the journal entry line.
in: path
required: true
example: '2647'
schema:
type: string
get:
summary: Get a journal entry line
description: >+
Returns detailed information for a specified journal entry line.
Permissions and other requirements
Subscription | General Ledger |
User type | Business user, Employee, Payment
Approver |
Permissions | List, View Journal
Entries |
tags:
- Journal entry lines
operationId: get-general-ledger-journal-entry-line-key
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Details of the journal-entry-line
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-journal-entry-line'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Get journal entry line:
value:
ia::result:
id: '18'
key: '18'
lines:
- id: '6'
key: '6'
lineNumber: 1
txnType: debit
entryDate: '2023-12-18'
txnAmount: '5000'
baseAmount: '8562.13'
exchangeRate:
date: '2023-12-17'
typeId: EUR-Rate
rate: 2.15
glAccount:
key: '207'
id: '6280'
name: Professional Fees
href: /objects/general-ledger/account/207
dimensions:
department:
key: '1'
id: '01'
name: Sales
href: /objects/company-config/department/1
location:
key: '1'
id: CA
name: California
href: /objects/company-config/location/1
class:
key: null
id: null
name: null
item:
key: '4'
id: SVC01-01
name: Implementation Services
href: /objects/inventory-control/item/4
customer:
key: '14'
id: C-00003
name: Burlington Textiles Corp of America
href: /objects/accounts-receivable/customer/14
vendor:
key: null
id: null
name: null
project:
key: null
id: null
name: null
employee:
key: null
id: null
name: null
warehouse:
key: null
id: null
name: null
task:
key: null
id: null
name: null
documentId: null
description: null
numberOfUnits: null
currency:
baseCurrency: USD
txnCurrency: USD
exchangeRateDate: null
exchangeRateType: null
exchangeRate: 1
reconciliationGroup:
cleared: 'false'
clearingDate: null
reconciliationDate: null
accountingPeriod: null
allocation:
allocation: null
allocationKey: null
audit:
createdDateTime: '1970-01-01T00:00:00Z'
modifiedDateTime: '2015-07-21T07:40:24Z'
createdBy: null
modifiedBy: null
state: posted
isBillable: null
isBilled: null
href: /objects/general-ledger/journal-entry-line/6
- id: 7
key: 7
lineNumber: 2
txnType: credit
entryDate: '2009-12-18'
txnAmount: '5000'
baseAmount: '8562.13'
exchangeRate:
date: '2009-12-17'
typeId: EUR-Rate
rate: 2.15
glAccount:
key: '207'
id: '6280'
name: Professional Fees
href: /objects/general-ledger/account/207
dimensions:
department:
key: '1'
id: '01'
name: Sales
href: /objects/company-config/department/1
location:
key: '1'
id: CA
name: California
href: /objects/company-config/location/1
class:
key: null
id: null
name: null
item:
key: '4'
id: SVC01-01
name: Implementation Services
href: /objects/inventory-control/item/4
customer:
key: '14'
id: C-00003
name: Burlington Textiles Corp of America
href: /objects/accounts-receivable/customer/14
vendor:
key: null
id: null
name: null
project:
key: null
id: null
name: null
employee:
key: null
id: null
name: null
warehouse:
key: null
id: null
name: null
task:
key: null
id: null
name: null
documentId: null
description: null
numberOfUnits: null
currency:
baseCurrency: USD
txnCurrency: USD
exchangeRateDate: null
exchangeRateType: null
exchangeRate: 1
reconciliationGroup:
cleared: 'false'
clearingDate: null
reconciliationDate: null
accountingPeriod: null
allocation:
allocation: null
allocationKey: null
audit:
createdDateTime: '1970-01-01T00:00:00Z'
modifiedDateTime: '2015-07-21T07:40:24Z'
createdBy: null
modifiedBy: null
state: posted
isBillable: null
isBilled: null
href: /objects/general-ledger/journal-entry-line/7
href: /objects/general-ledger/journal-entry/6
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
delete:
summary: Delete a Journal entry line
description: |+
Deletes a journal entry line.
Permissions and other requirements
Subscription | General Ledger |
User type | Business user |
Permissions | Delete Journal Entries |
tags:
- Journal entry lines
operationId: delete-general-ledger-journal-entry-line-key
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/statistical-journal:
get:
summary: List statistical journals
description: >+
Returns up to 100 journals from the collection with a key, ID, and link
for each journal. This operation is mostly for use in testing; use the
query service to find journals that meet certain criteria and to specify
the properties that you want in the response.
Permissions and other requirements
Subscription | General Ledger |
User type | Business, Employee,
Approver |
Permissions | List, View Statistical
Journals |
tags:
- Statistical journals
operationId: list-general-ledger-statistical-journal
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: List of statistical journals
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
List statistical journals:
value:
ia::result:
- key: '36'
id: SMAXIMUM
href: /objects/general-ledger/statistical-journal/36
- key: '34'
id: TSSJ
href: /objects/general-ledger/statistical-journal/34
- key: '35'
id: SINAJ
href: /objects/general-ledger/statistical-journal/35
ia::meta:
totalCount: 3
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
post:
summary: Create a statistical journal
description: |+
Creates a new statistical Journal
Permissions and other requirements
Subscription | General Ledger |
User type | Business |
Permissions | Add Statistical Journals |
tags:
- Statistical journals
operationId: create-general-ledger-statistical-journal
requestBody:
description: Statistical journal to create
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-statistical-journal'
- $ref: '#/components/schemas/general-ledger-statistical-journalRequiredProperties'
examples:
Simple POST request:
value:
id: TSSJ
name: Timesheet Statistical Journal
status: active
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
title: New statistical journal
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Simple POST response:
value:
ia::result:
key: '88'
id: TSSJ
href: /objects/general-ledger/statistical-journal/88
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/statistical-journal/{key}:
parameters:
- name: key
description: System-assigned key for a statistical journal.
in: path
required: true
schema:
type: string
example: '88'
get:
summary: Get a statistical Journal
description: >+
Get complete details for a specified statistical journal.
Permissions and other requirements
Subscription | General Ledger |
User type | Business, Employee,
Approver |
Permissions | List, View Statistical
Journals |
tags:
- Statistical journals
operationId: get-general-ledger-statistical-journal-key
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Statistical journal details
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-statistical-journal'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Simple GET response:
value:
ia::result:
id: TSSJ
name: Timesheet Statistical Journal
status: active
audit:
createdDateTime: '2021-06-27T17:16:13Z'
modifiedDateTime: '2021-06-27T17:16:13Z'
createdBy: '1'
modifiedBy: '1'
key: '36'
href: /objects/general-ledger/statistical-journal/36
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
patch:
summary: Update a statistical journal
description: >+
Updates an existing statistical journal by setting field values. Any
fields not provided remain unchanged.
Permissions and other requirements
Subscription | General Ledger |
User type | Business |
Permissions | Edit Statistical
Journals |
tags:
- Statistical journals
operationId: update-general-ledger-statistical-journal-key
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-statistical-journal'
- type: object
properties:
id:
readOnly: true
examples:
Update name and status:
value:
name: Timesheet Statistical Journal
status: active
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Simple PATCH response:
value:
ia::result:
key: '88'
id: TSSJ
href: /objects/general-ledger/statistical-journal/88
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
delete:
summary: Delete a statistical journal
description: >+
Deletes a statistical journal. You can only delete a journal if there
are no transactions in it.
Permissions and other requirements
Subscription | General Ledger |
User type | Business |
Permissions | Delete Statistical
Journals |
tags:
- Statistical journals
operationId: delete-general-ledger-statistical-journal-key
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/statistical-journal-entry:
get:
summary: List statistical journal entries
description: >+
Returns up to 100 statistical journal entries from the collection with a
key, ID, and link for each entry. This operation is mostly for use in
testing; use the query service to find statistical journal entries that
meet certain criteria and to specify the properties that you want in the
response.
Permissions and other requirements
Subscription | General Ledger |
User type | Business user with Admin privileges,
Employee, Payment Approver |
Permissions | List, View Statistical Journal
Entries |
tags:
- Statistical journal entries
operationId: list-general-ledger-statistical-journal-entry
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: List of statistical journal entry objects
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
list of statistical journal entries:
value:
ia::result:
- key: '66'
id: '66'
href: /objects/general-ledger/statistical-journal-entry/66
- key: '67'
id: '67'
href: /objects/general-ledger/statistical-journal-entry/67
- key: '68'
id: '68'
href: /objects/general-ledger/statistical-journal-entry/68
- key: '70'
id: '70'
href: /objects/general-ledger/statistical-journal-entry/70
- key: '70'
id: '70'
href: /objects/general-ledger/statistical-journal-entry/70
ia::meta:
totalCount: 5
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
post:
summary: Create a statitical journal entry
description: >+
Creates a new statistical journal entry (transaction). You can post a
transaction to a statistical journal right away, or save it as a draft.
- Draft transactions do not have to be complete; they can be reviewed
and updated before they are posted.
- In order to post a statistical journal entry, all required information
must be entered.
Permissions and other requirements
Subscription | General Ledger, Projects (for
revenue recognition of projects) |
User type | Business |
Permissions | Add Statistical Journal
Entries |
tags:
- Statistical journal entries
operationId: create-general-ledger-statistical-journal-entry
requestBody:
description: Statistical journal entry to create
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-statistical-journal-entry'
- $ref: '#/components/schemas/general-ledger-statistical-journal-entryRequiredProperties'
examples:
Create a statistical journal entry:
value:
description: TSSJ 5 JE Journal
statisticalJournal:
id: cs
postingDate: '2024-03-05'
lines:
- txnType: increase
amount: '15'
dimensions:
location:
id: '1'
statisticalAccount:
id: '9001'
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
title: New statistical journal entry
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Sample POST response:
value:
ia::result:
id: '81'
key: '81'
href: /objects/general-ledger/statistical-journal-entry/81
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/statistical-journal-entry/{key}:
parameters:
- name: key
description: System-assigned key for the statistical journal entry.
in: path
required: true
schema:
type: string
example: '132'
get:
summary: Get statistical journal entry
description: Returns detailed information for a specified statistical journal entry.
tags:
- Statistical journal entries
operationId: get-general-ledger-statistical-journal-entry-key
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Details of the statistical journal entry
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-statistical-journal-entry'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Statistical Journal entry details:
value:
ia::result:
id: '81'
key: '81'
txnNumber: 6
description: TSSJ 5 JE Journal
statisticalJournal:
id: cs
key: '107'
href: /objects/general-ledger/statistical-journal/107
postingDate: '2024-03-05'
moduleName: 2.GL
referenceNumber: null
entity:
key: null
id: null
name: null
reversedBy:
id: null
key: null
reversedFromDate: null
audit:
createdDateTime: '2024-04-26T17:28:30Z'
modifiedDateTime: '2024-04-26T17:28:30Z'
createdBy: '1'
modifiedBy: '1'
state: posted
sequenceNumber: null
lines:
- id: '140'
key: '140'
statisticalJournalEntry:
id: '81'
key: '81'
href: '/objects/general-ledger/statistical-journal-entry/81'
lineNumber: 1
txnType: increase
entryDate: '2024-03-05'
amount: '15.00'
statisticalAccount:
key: '1'
id: '9001'
name: Root - Billable Utilized Statistical Account
href: /objects/general-ledger/statistical-gl-account/1
dimensions:
department:
key: null
id: null
name: null
location:
key: '1'
id: '1'
name: United States of America
href: /objects/location/1
project:
key: null
id: null
name: null
customer:
key: null
id: null
name: null
vendor:
key: null
id: null
name: null
employee:
key: null
id: null
name: null
item:
key: null
id: null
name: null
class:
key: null
id: null
name: null
documentId: null
description: null
numberOfUnits: null
reconciliationGroup:
cleared: 'false'
clearingDate: null
reconciliationDate: null
accountingPeriod: null
allocation:
id: null
key: null
audit:
createdDateTime: '2024-04-26T17:28:30Z'
modifiedDateTime: '2024-04-26T17:28:30Z'
createdBy: '1'
modifiedBy: '1'
state: posted
href: '/objects/general-ledger/statistical-journal-entry-line/140'
href: /objects/general-ledger/statistical-journal-entry/81
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
patch:
summary: Update a statistical journal entry
description: >-
Updates an existing statistical journal entry by setting field values.
Any fields not provided remain unchanged.
tags:
- Statistical journal entries
operationId: update-general-ledger-statistical-journal-entry-key
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-statistical-journal-entry'
examples:
Update 1 line and add 1:
value:
postingDate: '2023-12-11'
state: posted
lines:
- key: 195
txnType: debit
txnAmount: '100'
statisticalAccount:
id: '1000'
dimensions:
department:
id: '11'
location:
id: '1'
documentId: Statistical JE reference
currency:
txnCurrency: USD
- txnType: debit
txnAmount: '100'
statisticalAccount:
id: '1000'
dimensions:
department:
id: '11'
location:
id: '1'
documentId: Statistical JE reference
currency:
txnCurrency: USD
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Updated statistical journal entry
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Update a single value:
value:
ia::result:
key: '1'
id: '1'
href: /objects/general-ledger/statistical-journal-entry/1
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
delete:
summary: Delete a statistical journal entry
description: Deletes a statistical journal entry.
tags:
- Statistical journal entries
operationId: delete-general-ledger-statistical-journal-entry-key
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/statistical-journal-entry-line:
get:
summary: List statistical journal entry lines
description: >+
Returns up to 100 statistical journal entry lines from the collection
with a key, ID, and link for each entry. This operation is mostly for
use in testing; use the query service to find journal entry lines that
meet certain criteria and to specify the properties that are returned.
Permissions and other requirements
Subscription | General Ledger |
User type | Business user, Employee, Payment
Approver |
Permissions | List, View Statistical Journal
Entries |
tags:
- Statistical journal entry lines
operationId: get-objects-statistical-journal-entry-line
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: List of statistical-journal-entry-line objects
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
Get Statistical journal entry lines:
value:
ia::result:
- key: '129'
id: '129'
href: '/objects/general-ledger/statistical-journal-entry-line/129'
- key: '127'
id: '127'
href: '/objects/general-ledger/statistical-journal-entry-line/127'
- key: '128'
id: '128'
href: '/objects/general-ledger/statistical-journal-entry-line/128'
- key: '130'
id: '130'
href: '/objects/general-ledger/statistical-journal-entry-line/130'
- key: '131'
id: '131'
href: '/objects/general-ledger/statistical-journal-entry-line/131'
ia::meta:
totalCount: 5
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/statistical-journal-entry-line/{key}:
parameters:
- name: key
description: System-assigned key for the statistical journal entry line.
in: path
required: true
example: '2647'
schema:
type: string
get:
summary: Get a statistical journal entry line
description: >+
Returns detailed information for a specified statistical journal entry
line.
Permissions and other requirements
Subscription | General Ledger |
User type | Business user, Employee, Payment
Approver |
Permissions | List, View Statistical Journal
Entries |
tags:
- Statistical journal entry lines
operationId: get-objects-statistical-journal-entry-line-key
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Details of the statistical-journal-entry-line
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-statistical-journal-entry-line'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Get statistical journal entry line:
value:
ia::result:
id: '127'
key: '127'
statisticalJournalEntry:
id: '66'
key: '66'
href: /objects/general-ledger/statistical-journal-entry/66
lineNumber: 1
txnType: increase
entryDate: '2024-03-05'
amount: '235.15'
statisticalAccount:
key: '1'
id: '9001'
name: Root - Billable Utilized Statistical Account
href: /objects/general-ledger/statistical-account/1
dimensions:
department:
key: null
id: null
name: null
location:
key: '1'
id: '1'
name: United States of America
href: /objects/location/1
project:
key: null
id: null
name: null
customer:
key: null
id: null
name: null
vendor:
key: null
id: null
name: null
employee:
key: null
id: null
name: null
item:
key: null
id: null
name: null
class:
key: null
id: null
name: null
documentId: null
description: null
numberOfUnits: null
reconciliationGroup:
cleared: 'false'
clearingDate: null
reconciliationDate: null
accountingPeriod: null
allocation:
id: null
key: null
audit:
createdDateTime: '2024-04-24T13:40:31Z'
modifiedDateTime: '2024-04-24T13:40:31Z'
createdBy: '1'
modifiedBy: '1'
state: posted
href: '/objects/general-ledger/statistical-journal-entry-line/127'
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/budget:
get:
summary: List budgets
description: >+
Returns up to 100 budgets from the collection with a key, ID, and link
for each budget. This operation is mostly for use in testing; use the
query service to find budgets that meet specific criteria and to specify
the properties that you want in the response.
Permissions and other requirements
Subscription | General Ledger |
User type | Business, Employee,
Approver |
Permissions | List, View Budgets |
tags:
- Budgets
operationId: list-general-ledger-budget
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: List budget objects
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
List budgets:
value:
ia::result:
- key: '1'
id: Std_Budget
href: /objects/general-ledger/budget/1
- key: '2'
id: KPI Budgets
href: /objects/general-ledger/budget/2
ia::meta:
totalCount: 2
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
post:
summary: Create a budget
description: |+
Creates a new budget.
Permissions and other requirements
Subscription | General Ledger |
User type | Business User |
Permissions | Add Budgets |
tags:
- Budgets
operationId: create-general-ledger-budget
requestBody:
description: Budget to create
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-budget'
- $ref: '#/components/schemas/general-ledger-budgetRequiredProperties'
examples:
Create a budget:
value:
id: Budget1
description: First budget
isDefault: true
status: active
consolidateAmounts: false
currency: null
postProjectEstimate: false
lines:
- glAccount:
id: '1000'
dimensions:
location:
id: '1'
reportingPeriod:
id: Month ended January 2022
amount: '100'
budgetGrowth:
basedOn: budget
growBy: null
perPeriod: percentage
- glAccount:
id: '1000'
dimensions:
location:
id: '1'
reportingPeriod:
id: Month ended February 2022
amount: '150'
budgetGrowth:
basedOn: budget
growBy: null
perPeriod: percentage
- glAccount:
id: '1000'
dimensions:
location:
id: '1'
reportingPeriod:
id: Month ended March 2022
amount: '100'
budgetGrowth:
basedOn: budget
growBy: null
perPeriod: percentage
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
title: New budget
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Sample POST response:
value:
ia::result:
key: '41'
id: Budget1
href: /objects/general-ledger/budget/41
ia::meta:
totalCount: 1
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/budget/{key}:
parameters:
- name: key
description: System-assigned key for the budget.
in: path
schema:
type: string
required: true
example: '291'
get:
summary: Get a budget
description: >+
Returns detailed information for a specified budget.
Permissions and other requirements
Subscription | General Ledger |
User type | Business, Employee,
Approver |
Permissions | List, View Budgets |
tags:
- Budgets
operationId: get-general-ledger-budget-key
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Details of the budget
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-budget'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Get budget details:
value:
ia::result:
key: '5'
id: Employee Expense Budget
description: Employee Expense Budget
isDefault: false
userName: Admin
status: active
audit:
createdDateTime: '2022-02-16T05:13:36Z'
modifiedDateTime: '2022-02-16T05:13:36Z'
createdBy: '1'
modifiedBy: '1'
consolidateAmounts: false
currency: USD
postProjectEstimate: false
lines:
- id: '291'
key: '291'
budget:
key: '5'
id: Employee Expense Budget
href: /objects/general-ledger/budget/291
currency:
txnCurrency: USD
reportingPeriod:
key: '79'
id: Month Ended January 2022
name: Month Ended January 2022
href: /objects/reportingperiod/79
glAccount:
key: '9'
id: '4000'
name: Revenue
href: /objects/general-ledger/account/9
dimensions:
department:
key: '9'
id: '11'
name: Sales
href: /objects/company-config/department/9
location:
key: '1'
id: '1'
name: United States of America
href: /objects/company-config/location/1
employee:
key: '1'
id: '1'
name: Joe Smith
href: /objects/company-config/employee/10
item:
key: '101'
id: '101'
name: Widgets
href: /objects/inventory-control/item/101
class:
key: '2'
id: '2'
name: Mid Market
href: /objects/company-config/class/2
warehouse:
key: '1'
id: '1'
name: Main
href: /objects/inventory-control/warehouse/1
customer:
key: '1'
id: '1'
name: Big Buyer
href: /objects/accounts-receivable/customer/1
vendor:
key: '1'
id: '1'
name: Widget Wholesales
href: /objects/accounts-payable/vendor/1
amount: '100'
budgetGrowth:
basedOn: budget
growBy: null
perPeriod: percentage
notes: Projection for 2021
href: /objects/general-ledger/budget-detail/291
href: /objects/general-ledger/budget/5
ia::meta:
totalCount: 1
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
patch:
summary: Update a budget
description: >+
Updates an existing budget and its budget details by setting field
values. Any fields not provided remain unchanged.
* To update an existing budget-detail line within a budget, provide the
budget-detail `key` value.
* To add a new budget-detail line to a budget, do not include a `key`
value.
* To delete a budget-detail line, send a `DELETE
/objects/general-ledger/budget-detail/{key}` request.
Permissions and other requirements
Subscription | General Ledger |
User type | Business User |
Permissions | Edit Budgets |
tags:
- Budgets
operationId: update-general-ledger-budget-key
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-budget'
- type: object
properties:
id:
readOnly: true
examples:
Set a budget to inactive:
value:
status: inactive
Update the amount in a budget detail line:
value:
lines:
- key: '4120'
amount: '1229'
Set a budget as default, update a line and add a line:
value:
isDefault: true
lines:
- key: '135'
budgetGrowth:
basedOn: budget
growBy: 15
perPeriod: percentage
- glAccount:
id: '1000'
dimensions:
location:
id: '1'
reportingPeriod:
id: Month ended June 2022
amount: '100'
budgetGrowth:
basedOn: budget
growBy: 18
perPeriod: percentage
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Budget updated
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Budget updated:
value:
ia::result:
key: '21'
id: Std_Budget
href: /objects/general-ledger/budget/21
ia::meta:
totalCount: 1
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
delete:
summary: Delete budget
description: >+
Deletes a budget. You cannot delete the default budget or any budget
that is being used by a financial report.
Carefully consider the implications before you delete a budget. After
you delete a budget, you will no longer be able to use its data to
create future budgets and it can no longer be used in financial reports.
Permissions and other requirements
Subscription | General Ledger |
User type | Business User |
Permissions | Delete Budgets |
tags:
- Budgets
operationId: delete-general-ledger-budget-key
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/budget-detail:
get:
summary: List budget details
description: >+
Returns up to 100 budget details from the collection with a key, ID, and
link for each budget detail object. This operation is mostly for use in
testing; use the query service to find budget details that meet certain
criteria and to specify the properties that you want in the response.
Permissions and other requirements
Subscription | General Ledger |
User type | Business, Employee,
Approver |
Permissions | List, View Budgets |
tags:
- Budget details
operationId: list-general-ledger-budget-detail
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: List budget detail objects
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
List budget header:
value:
ia::result:
- key: '284'
id: '284'
href: /objects/general-ledger/budget-detail/284
- key: '285'
id: '285'
href: /objects/general-ledger/budget-detail/285
- key: '286'
id: '286'
href: /objects/general-ledger/budget-detail/286
ia::meta:
totalCount: 3
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/budget-detail/{key}:
parameters:
- name: key
description: System-assigned key for the budget detail.
in: path
schema:
type: string
required: true
example: '153'
get:
summary: Get budget details
description: >+
Returns detailed information for a specified budget detail.
Permissions and other requirements
Subscription | General Ledger |
User type | Business, Employee,
Approver |
Permissions | List, View Budgets |
tags:
- Budget details
operationId: get-general-ledger-budget-detail-key
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Details of budget
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-budget-detail'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Get budget details:
value:
ia::result:
id: '13'
key: '13'
budget:
key: '2'
id: Proj-budget
href: /objects/general-ledger/budget/2
currency:
txnCurrency: null
reportingPeriod:
key: '127'
id: Month ended January 2023
name: Month ended January 2023
href: /objects/general-ledger/reporting-period/127
glAccount:
key: '279'
id: '9501'
name: Labor Costing - Billable
href: /objects/general-ledger/account/279
dimensions:
department:
key: null
id: null
name: null
location:
key: null
id: null
name: null
class:
key: null
id: null
name: null
item:
key: null
id: null
name: null
customer:
key: null
id: null
name: null
vendor:
key: null
id: null
name: null
project:
key: null
id: null
name: null
employee:
key: null
id: null
name: null
warehouse:
key: null
id: null
name: null
task:
key: null
id: null
name: null
amount: '1000.00'
budgetGrowth:
basedOn: budget
growBy: null
perPeriod: percentage
notes: Notes
href: /objects/general-ledger/budget-detail/13
ia::meta:
totalCount: 1
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
delete:
summary: Delete budget detail
description: |+
Deletes a budget detail
Permissions and other requirements
Subscription | General Ledger |
User type | Business User |
Permissions | Delete Budgets |
tags:
- Budget details
operationId: delete-general-ledger-budget-detail-key
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/reporting-period:
get:
summary: List reporting periods
description: >-
Returns up to 100 reporting periods from the collection with a key, ID,
and link for each period. This operation is mostly for use in testing;
use the query service to find reporting periods that meet specific
criteria and to specify the properties that you want in the response.
tags:
- Reporting periods
operationId: list-general-ledger-reporting-period
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: List of reporting-period objects
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
List reporting periods:
value:
ia::result:
- key: '1'
id: Current Month
href: /objects/general-ledger/reporting-period/1
- key: '2'
id: Next Month
href: /objects/general-ledger/reporting-period/2
ia::meta:
totalCount: 2
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
post:
summary: Create a reporting period
description: Creates a new reporting period.
tags:
- Reporting periods
operationId: create-general-ledger-reporting-period
requestBody:
description: Reporting period to create
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-reporting-period'
- $ref: '#/components/schemas/general-ledger-reporting-periodRequiredProperties'
examples:
Create a reporting period:
value:
startDate: '2023-01-01'
endDate: '2023-12-31'
id: Current Year 2023
columnHeader1: Current Year
isBudgetable: false
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
title: Reference to new reporting period
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Reference to new reporting period:
value:
ia::result:
key: '1023'
id: Current Year 2023
href: /objects/general-ledger/reporting-period/1023
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/reporting-period/{key}:
parameters:
- name: key
description: System-assigned unique key for the reporting period.
in: path
required: true
schema:
type: string
example: '240'
get:
summary: Get a reporting period
description: Returns detailed information for a specified reporting period.
tags:
- Reporting periods
operationId: get-general-ledger-reporting-period-key
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Details of the reporting period
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-reporting-period'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Details of the reporting period:
value:
ia::result:
id: Current Year 2023
key: '1023'
href: /objects/general-ledger/reporting-period/1023
startDate: '2023-02-01'
endDate: '2023-12-31'
isBudgetable: false
columnHeader1: Current Year
columnHeader2: null
status: active
audit:
createdDateTime: '2021-10-18T12:30:47Z'
modifiedDateTime: '2022-01-07T04:07:21Z'
createdBy: '1'
modifiedBy: '1'
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
patch:
summary: Update a reporting period
description: >-
Updates an existing reporting period by setting field values. Any fields
not provided remain unchanged.
tags:
- Reporting periods
operationId: update-general-ledger-reporting-period-key
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-reporting-period'
- type: object
properties:
id:
readOnly: true
examples:
Update a reporting period:
value:
startDate: '2023-01-01'
endDate: '2023-11-30'
columnHeader1: Current Year till nov
isBudgetable: false
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Reference to updated reporting period
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Reference to updated reporting period:
value:
ia::result:
key: '1023'
id: Current Year 2023
href: /objects/general-ledger/reporting-period/1
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
delete:
summary: Delete a reporting period
description: Deletes a reporting period.
tags:
- Reporting periods
operationId: delete-general-ledger-reporting-period-key
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/txn-allocation-template:
get:
summary: List transaction allocation templates
description: >-
Returns up to 100 transaction allocation templates from the collection
with a key, ID, and link for each one. This operation is mostly for use
in testing; use the query service to find allocation templates that meet
specific criteria and to specify the properties that you want in the
response.
tags:
- Transaction allocation templates
operationId: list-general-ledger-txn-allocation-template
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: List allocation template objects
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
List of allocations:
value:
ia::result:
- key: '1'
id: Fixed Amount Allocation
href: /objects/general-ledger/txn-allocation-template/1
- key: '2'
id: Percentage Allocation
href: /objects/general-ledger/txn-allocation-template/2
ia::meta:
totalCount: 2
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
post:
summary: Create a transaction allocation template
description: Creates a new transaction allocation template.
tags:
- Transaction allocation templates
operationId: create-general-ledger-txn-allocation-template
requestBody:
description: Transaction allocation template to create
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-txn-allocation-template'
- $ref: '#/components/schemas/general-ledger-txn-allocation-templateRequiredProperties'
examples:
Creates an allocation template:
value:
id: Fixed amount allocation
description: Fixed dollar amount allocation
status: active
allocateBy: exactAmount
lines:
- value: '100'
dimensions:
department:
id: '1'
location:
id: '1'
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
title: Reference to new allocation template
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Reference to new allocation template:
value:
ia::result:
key: '4'
id: Fixed amount allocation
href: /objects/general-ledger/txn-allocation-template/4
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/txn-allocation-template/{key}:
parameters:
- name: key
description: System-assigned key for the transaction allocation template.
in: path
required: true
schema:
type: string
example: '2'
get:
summary: Get a transaction allocation template
description: >-
Returns detailed information for a specified transaction allocation
template.
tags:
- Transaction allocation templates
operationId: get-general-ledger-txn-allocation-template-key
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Details of the allocation template
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-txn-allocation-template'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Details of the allocation template:
value:
ia::result:
key: '3'
id: Fixed amount allocation
description: Fixed dollar amount allocation
allocateBy: exactAmount
documentNumber: REJCAL
status: active
audit:
createdDateTime: '2023-06-23T11:32:17Z'
modifiedDateTime: '2023-06-23T12:25:08Z'
createdBy: '1'
modifiedBy: '1'
lines:
- key: '8'
id: Fixed Amount Allocation
txnAllocationTemplate:
id: Fixed amount allocation
key: '3'
href: /objects/general-ledger/txn-allocation-template/3
valueType: amount
value: '100'
dimensions:
location:
id: '1'
name: United States of America
key: '1'
href: /objects/company-config/location/1
department:
id: '11'
name: Accounting
key: '9'
href: /objects/company-config/department/9
project:
key: '13'
id: CO
name: Contract - Platinum - Modulus Industries
href: /objects/projects/project/13
customer:
key: '3'
id: MI
name: Modulus Industries
href: /objects/accounts-receivable/customer/3
vendor:
key: '47'
id: '201'
name: PG & E
href: /objects/accounts-payable/vendor/47
employee:
key: '2'
id: '2'
name: Hatcher
href: /objects/company-config/employee/2
item:
key: '29'
id: A001
name: Desktop-HP
href: /objects/inventory-control/item/29
class:
key: '6'
id: '4'
name: Professional Services
href: /objects/company-config/class/6
task:
key: '1'
id: T-001
name: Task-1
href: /objects/projects/task/1
warehouse:
key: '19'
id: WareHouse10004
name: Warehouse Name 10004 (CN)
href: /objects/inventory-control/warehouse/19
audit:
createdDateTime: '2023-06-23T12:25:09Z'
modifiedDateTime: '2023-06-23T12:25:09Z'
createdBy: '1'
modifiedBy: '1'
lineNumber: 1
href: '/objects/general-ledger/txn-allocation-template-line/8'
href: /objects/general-ledger/txn-allocation-template/3
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
patch:
summary: Update a transaction allocation template
description: >-
Updates an existing allocation by setting field values. Any fields not
provided remain unchanged.
tags:
- Transaction allocation templates
operationId: update-general-ledger-txn-allocation-template-key
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/general-ledger-txn-allocation-template'
- type: object
properties:
id:
readOnly: true
examples:
Updates an allocation:
value:
description: All Shop Allocation
lines:
- key: '3'
valueType: amount
value: '95'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Reference to updated allocation template
properties:
ia::result:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Reference to updated allocation template:
value:
ia::result:
key: '3'
id: Fixed amount allocation
href: /objects/general-ledger/txn-allocation-template/3
ia::meta:
totalCount: 1
totalSuccess: 1
totalError: 0
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
delete:
summary: Delete a transaction allocation template
description: Deletes a transaction allocation template.
tags:
- Transaction allocation templates
operationId: delete-general-ledger-txn-allocation-template-key
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/txn-allocation-template-line:
get:
summary: List transaction allocation template lines
description: >-
Returns up to 100 transaction allocation template lines from the
collection with a key, ID, and link for each one. This operation is
mostly for use in testing; use the query service to find allocation
template lines that meet specific criteria and to specify the properties
that you want in the response.
tags:
- Transaction allocation template lines
operationId: list-general-ledger-txn-allocation-template-line
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: List transaction allocation template lines
properties:
ia::result:
type: array
items:
$ref: '#/components/schemas/object-reference'
ia::meta:
$ref: '#/components/schemas/metadata-pages'
examples:
List transaction allocation template lines:
value:
ia::result:
- key: '4'
id: '4'
href: /objects/general-ledger/txn-allocation-template-line/1
- key: '8'
id: '8'
href: /objects/general-ledger/txn-allocation-template-line/1
- key: '1'
id: '1'
href: /objects/general-ledger/txn-allocation-template-line/2
ia::meta:
totalCount: 3
start: 1
pageSize: 100
next: null
previous: null
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
/objects/general-ledger/txn-allocation-template-line/{key}:
parameters:
- name: key
description: System-assigned key for the transaction allocation template line.
in: path
required: true
schema:
type: string
example: '2'
get:
summary: Get a transaction allocation template line
description: >-
Returns detailed information for a specified transaction allocation
template line.
tags:
- Transaction allocation template lines
operationId: get-general-ledger-txn-allocation-template-line-key
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Details of the transaction allocation template line
properties:
ia::result:
$ref: '#/components/schemas/general-ledger-txn-allocation-template-line'
ia::meta:
$ref: '#/components/schemas/metadata'
examples:
Details of the transaction allocation template line:
value:
ia::result:
key: '8'
id: '8'
allocation:
id: Fixed amount allocation
key: '3'
href: /objects/general-ledger/txn-allocation-template/3
valueType: amount
value: '100'
dimensions:
location:
id: '1'
name: United States of America
key: '1'
href: /objects/company-config/location/1
department:
id: '11'
name: Accounting
key: '9'
href: /objects/company-config/department/9
project:
key: '13'
id: CO
name: Contract - Platinum - Modulus Industries
href: /objects/projects/project/13
customer:
key: '3'
id: MI
name: Modulus Industries
href: /objects/accounts-receivable/customer/3
vendor:
key: '47'
id: '201'
name: PG & E
href: /objects/accounts-payable/vendor/47
employee:
key: '2'
id: '2'
name: Hatcher
href: /objects/company-config/employee/2
item:
key: '29'
id: A001
name: Desktop-HP
href: /objects/inventory-control/item/29
class:
key: '6'
id: '4'
name: Professional Services
href: /objects/company-config/class/6
task:
key: '1'
id: T-001
name: Task-1
href: /objects/projects/task/1
warehouse:
key: '19'
id: WareHouse10004
name: Warehouse Name 10004 (CN)
href: /objects/inventory-control/warehouse/19
audit:
createdDateTime: '2022-06-23T12:25:09Z'
modifiedDateTime: '2022-06-23T12:25:09Z'
createdBy: '1'
modifiedBy: '1'
lineNumber: 1
href: /objects/general-ledger/txn-allocation-template-line/8
ia::meta:
totalCount: 1
'400':
$ref: '#/components/responses/400error'
security:
- OAuth2: []
components:
schemas:
general-ledger-accountRequiredProperties:
type: object
required:
- id
- name
object-reference:
type: object
description: Reference to created or updated object
properties:
key:
type: string
example: '12345'
id:
type: string
example: ID123
href:
type: string
readOnly: true
example: /objects///12345
metadata-pages:
description: Metadata for collection response
type: object
properties:
totalCount:
type: integer
description: Total count
readOnly: true
example: 3
start:
type: integer
description: Start element number
readOnly: true
example: 1
pageSize:
type: integer
description: Page size
readOnly: true
example: 100
next:
type: integer
description: Next element number
readOnly: true
nullable: true
example: 101
previous:
type: integer
description: Previous element number
readOnly: true
nullable: true
example: null
metadata:
description: Metadata for response
type: object
properties:
totalCount:
type: integer
description: Total count
readOnly: true
example: 3
totalSuccess:
type: integer
description: Total success
readOnly: true
example: 2
totalError:
type: integer
description: Total errors
readOnly: true
example: 1
error-response:
type: object
description: Error response
properties:
ia::result:
type: object
properties:
ia::error:
type: object
properties:
code:
type: string
example: invalidRequest
message:
type: string
example: Payload contains errors
supportId:
type: string
example: sQrM9%7EYdh5oDEWVb80mrn9xuHjoAAAABBQ
errorId:
type: string
example: REST-1064
additionalInfo:
type: object
properties:
messageId:
type: string
example: IA.PAYLOAD_CONTAINS_ERRORS
placeholders:
type: string
propertySet:
type: string
details:
type: array
items:
type: object
properties:
code:
type: string
example: invalidRequest
message:
type: string
example: /testDate is not a valid field
errorId:
type: string
example: REST-1043
target:
type: string
example: /testDate
additionalInfo:
type: object
properties:
messageId:
type: string
example: IA.NOT_A_VALID_FIELD
placeholders:
type: string
example:
FIELD: /testDate
propertySet:
type: string
ia::meta:
$ref: '#/components/schemas/metadata'
status:
type: string
description: >-
Object status. Active objects are fully functional. Inactive objects are
essentially hidden and cannot be used or referenced.
enum:
- active
- inactive
default: active
example: active
required-dimensions-ref:
type: object
description: >-
The dimensions that must be included on transactions that post to the
account.
properties:
class:
type: boolean
description: Set to `true` to require a value for class.
default: false
example: false
contract:
type: boolean
description: Set to `true` to require a value for contract.
default: false
example: false
customer:
type: boolean
description: Set to `true` to require a value for customer.
default: false
example: false
department:
type: boolean
description: Set to `true` to require a value for department.
default: false
example: true
employee:
type: boolean
description: Set to `true` to require a value for employee.
default: false
example: false
item:
type: boolean
description: Set to `true` to require a value for item.
default: false
example: false
location:
type: boolean
description: Set to `true` to require a value for location.
default: false
example: false
project:
type: boolean
description: Set to `true` to require a value for project.
default: false
example: false
vendor:
type: boolean
description: Set to `true` to require a value for vendor.
default: false
example: false
warehouse:
type: boolean
description: Set to `true` to require a value for warehouse.
default: false
example: false
asset:
type: boolean
description: Set to `true` to require a value for asset.
default: false
example: false
entity-ref:
type: object
properties:
key:
type: string
description: System-assigned key for the objects Entity Location.
readOnly: true
nullable: true
example: '46'
id:
type: string
description: User-assigned ID for the objects Entity Location
readOnly: true
nullable: true
example: CORP
name:
type: string
description: User-assigned NAME for the objects Entity Location
readOnly: true
nullable: true
example: Corp
href:
type: string
readOnly: true
example: /objects/company-config/entity/46
readOnly: true
audit:
type: object
properties:
createdDateTime:
description: Time of the submission
type: string
format: date-time
example: '2022-04-20T16:20:00Z'
readOnly: true
modifiedDateTime:
description: Time of the modification
type: string
format: date-time
example: '2022-04-20T16:20:00Z'
readOnly: true
createdBy:
description: User who created this
type: string
example: '1'
readOnly: true
nullable: true
modifiedBy:
description: User who modified this
type: string
example: '95'
readOnly: true
nullable: true
readOnly: true
general-ledger-account:
type: object
description: General ledger account
properties:
key:
type: string
description: >-
System-assigned key for the account. Used to identify the account in
URLs or JSON bodies for all operations on the account.
readOnly: true
example: '411'
id:
type: string
description: >-
The primary account number. This number must be a specific length,
which is set on the Accounting tab of the Company Information page.
example: '1501.04'
name:
type: string
description: >-
Name or title of the account, which appears on report headings. Max
length is 80.
example: Expense Account
accountType:
type: string
description: >-
Type of account:
- `balanceSheet` - A snapshot of the current state of a company's
assets, liabilities, and equity at a specific time.
- `incomeStatement` - Income statement accounts, sometimes called
Profit and Loss statements, are cumulative for the selected period.
enum:
- balanceSheet
- incomeStatement
default: balanceSheet
example: balanceSheet
normalBalance:
type: string
description: >-
Sets whether the normal balance, from an accounting standpoint, is a
debit or credit. For example, expense accounts are normally a debit.
Sales accounts are normally a credit.
enum:
- debit
- credit
default: debit
example: debit
closingType:
type: string
description: >-
Sets the account as a closing or non-closing account. Instead of
manually closing accounts at year end, you can set them to be
closing accounts and then specify the account in which to close that
period.
- `nonClosingAccount` - Balance sheet accounts.
- `closingAccount` - Income statement accounts. Also specify a
`closeToGLAccount`, which will typically be Retained Earnings. Sage
Intacct then zeroes closing-type accounts into retained earnings at
year-end.
- `closedToAccount` - An account that other accounts close to, such
as Retained Earnings.
enum:
- nonClosingAccount
- closingAccount
- closedToAccount
default: nonClosingAccount
example: nonClosingAccount
closeToGLAccount:
type: object
description: >-
Account into which this account should close. Required if
`closingType` is set to `closingAccount`.
properties:
key:
type: string
description: System-assigned key for account.
example: '5'
id:
type: string
description: GL account number.
example: '3500'
href:
type: string
description: URL endpoint of the account.
readOnly: true
example: /objects/general-ledger/account/5
alternativeGLAccount:
type: string
description: >
Sets whether the account can be used as an override of the default
AP or AR GL accounts.
- `payablesAccount` - The account can be used as an override account
for bill and adjustment transactions, and transactions involving a
specific vendor.
- `receivablesAccount` - The account can be used as an override for
invoice and adjustment transactions and transactions involving a
specific customer.
- `none` - The account cannot be used as an override account.
The same alternative GL account can be used for all line items in a
transaction, or different alternative accounts can be set for each
line item. For vendors and customers, one alternative GL account can
be used for balancing all transactions involving that vendor or
customer.
Note: Currently, this field applies to bills, invoices, and
adjustments only. It doesn't apply to recurring bills or invoices,
manual payments, manual deposits, or advances.
enum:
- none
- payablesAccount
- receivablesAccount
default: none
example: payablesAccount
disallowDirectPosting:
type: boolean
description: >-
Set to `true` to prevent direct entry of journal entries to the
subledger control account (for example Accounts Payable, Accounts
Receivable, etc.). Use this control to ensure that the account
balance for the subledger account is accurate and has the necessary
subledger details supporting the figure, rather than a direct entry
which would not be reflected in the subledger application area.
default: false
example: false
status:
$ref: '#/components/schemas/status'
requireDimensions:
$ref: '#/components/schemas/required-dimensions-ref'
category:
type: string
description: >-
Account categories are pre-defined groupings that arrange accounts
into out-of-the-box reports, graphs, and performance cards. This
field is available only for companies that were created with a
QuickStart template or chose one later. If enabled, set a category
for the account. The available values are tied to the particular
QuickStart template used for the company. The category chosen will
automatically set values for `accountType`, `normalBalance`, and
`closingType`.
example: Cash and Cash Equivalents
isTaxable:
type: boolean
description: Set to `true` to mark the account as taxable.
default: false
example: false
taxCode:
type: string
description: >-
Provide the tax return code needed by external tax compliance
products to map tax codes to the tax forms that the company uses.
Requires tax codes to be enabled in the General Ledger.
example: CST
mrcCode:
type: string
description: The M-3 return code box to map M-3 return codes to your M-3 form.
example: m-3 1065
entity:
$ref: '#/components/schemas/entity-ref'
audit:
$ref: '#/components/schemas/audit'
href:
description: URL endpoint for the account.
type: string
readOnly: true
example: /objects/general-ledger/account/411
general-ledger-statistical-accountRequiredProperties:
type: object
required:
- id
- name
general-ledger-statistical-account:
type: object
description: Statistical account
properties:
key:
type: string
description: >-
System-assigned key for the statistical account. Used to identify
the account in URLs or JSON bodies for all operations on the
account.
readOnly: true
example: '397'
id:
type: string
description: Statistical account ID.
example: '9001'
name:
type: string
description: Name or title of this statistical account.
example: Customer Account
reportType:
type: string
description: >-
This is a non-functional field, for information purposes only. It
does not affect how amounts are calculated for reporting.
enum:
- forPeriod
- cumulative
default: forPeriod
example: forPeriod
requireDimensions:
$ref: '#/components/schemas/required-dimensions-ref'
isTaxable:
type: boolean
description: Set to `true` to mark the account as taxable.
default: false
example: true
category:
type: string
description: >-
Account categories are pre-defined groupings that arrange accounts
into out-of-the-box reports, graphs, and performance cards. This
field is available only for companies that were created with a
QuickStart template or chose one later. If enabled, set a category
for the account. The available values are tied to the particular
QuickStart template used for the company.
example: Customers
status:
$ref: '#/components/schemas/status'
example: inactive
audit:
$ref: '#/components/schemas/audit'
href:
type: string
description: URL endpoint for this statistical account.
readOnly: true
example: /objects/general-ledger/statistical-account/397
entity:
$ref: '#/components/schemas/entity-ref'
general-ledger-account-groupRequiredProperties:
type: object
required:
- id
general-ledger-account-range:
type: object
description: GL Account Group Range
properties:
key:
type: string
description: System-assigned key for the GL Account Group Range.
readOnly: true
example: '2'
id:
type: string
description: Same as `key`.
readOnly: true
example: '2'
sortOrder:
type: integer
description: Set the sort order of the account range
example: 2
default: 0
rangeFrom:
type: string
description: Specify GL account to start range
example: '1000'
rangeTo:
type: string
description: Specify GL account to end range
example: '1001'
audit:
$ref: '#/components/schemas/audit'
href:
type: string
readOnly: true
example: /objects/general-ledger/account-range/2
general-ledger-account-group:
type: object
description: General ledger account groups.
properties:
key:
type: string
description: >-
System-assigned key for the account group. Used to identify the
group in URLs or JSON bodies for all operations involving this
account group.
readOnly: true
example: '33'
id:
type: string
description: Account group name.
example: 85 - Cash
title:
type: string
description: Display on report as.
example: null
totalTitle:
type: string
description: Display total line as.
example: Total Accounts Payable
manager:
type: string
description: >-
Person to consult if there are questions about the account group.
This is a free form field not tied to users (you can provide a
partner name, or any other name).
example: null
calculationMethod:
type: string
description: Calculation method
example: period
enum:
- null
- period
- startOfPeriod
- endOfPeriod
nullable: true
default: null
reportFilters:
description: >
Use report filters to restrict the data displayed by dimension or
other factors. Report filters can be more restrictive than filtering
at other levels. The filters here work on charts, graphs,
performance cards, and financial reports, but are ignored in GL
reports.
Valid values for all dimension report filters:
- `noFilter` - Do not filter on this dimension. Include all
transactions, regardless of the dimension value.
- `specific` - Only include transactions with the specified
dimension value.
- `specificHierarchy` - Only include transactions with the specified
dimension value and its children.
- `nullValue` - Only include transactions that have no value set for
this dimension.
type: object
properties:
location:
type: string
description: Location filter to use in reports.
example: null
enum:
- null
- noFilter
- specificHierarchy
- specific
- nullValue
debitOrCredit:
type: string
description: Include debits, credits, or both in reports.
example: both
enum:
- null
- both
- debitOnly
- creditOnly
nullable: true
default: null
department:
type: string
description: Department filter to use in reports.
example: null
enum:
- null
- noFilter
- specificHierarchy
- specific
- nullValue
vendor:
type: string
description: Vendor filter to use in reports.
example: null
enum:
- null
- noFilter
- specificHierarchy
- specific
- unspecified
nullable: true
default: null
customer:
type: string
description: Customer filter to use in reports.
example: null
enum:
- null
- noFilter
- specificHierarchy
- specific
- nullValue
project:
type: string
description: Project filter to use in reports.
example: null
enum:
- null
- noFilter
- specificHierarchy
- specific
- nullValue
employee:
type: string
description: Employee filter to use in reports.
example: null
enum:
- null
- noFilter
- specificHierarchy
- specific
- nullValue
item:
type: string
description: Item filter to use in reports.
example: null
enum:
- null
- noFilter
- specific
- nullValue
class:
type: string
description: Class filter to use in reports.
example: null
enum:
- null
- noFilter
- specificHierarchy
- specific
- nullValue
contract:
type: string
description: Contract filter to use in reports.
example: null
enum:
- null
- noFilter
- specificHierarchy
- specific
- nullValue
task:
type: string
description: Task filter to use in reports.
example: null
enum:
- null
- noFilter
- nullValue
warehouse:
type: string
description: Warehouse filter to use in reports.
example: null
enum:
- null
- noFilter
- specificHierarchy
- specific
- nullValue
costtype:
type: string
description: Cost type filter to use in reports.
example: null
enum:
- null
- noFilter
- nullValue
asset:
type: string
description: Asset filter to use in reports.
example: null
enum:
- null
- noFilter
- specificHierarchy
- specific
- nullValue
normalBalance:
type: string
description: Normal balance, either debit or credit.
example: credit
enum:
- debit
- credit
groupType:
type: string
description: >
Account group type.
- `accounts` - Consists of one or more accounts from the chart of
accounts.
- `groups` - Contains other account groups, thus forming a
hierarchy. You can have groups within groups within groups, and so
on, to any level of depth.
- `statisticalAccounts` - Consists of accounts that contain specific
non-financial data, such as headcount, hospital beds, square
footage, or hotel rooms. Using statistical account groups, you can
calculate against and report on data to get a virtually unlimited
variety of ratios and business metrics
- `computation` - Consists of other account groups or individual
accounts that you use as components in a mathematical equation;
results of the equation display in financial report.
- `category` - Contains accounts based on their category.
- `statisticalCategory` - Contains statistical accounts based on
their category.
example: groups
enum:
- null
- accounts
- groups
- statisticalAccounts
- computation
- category
- statisticalCategory
nullable: true
default: null
isKPI:
type: boolean
description: Is a KPI.
example: false
includeChildAmount:
type: boolean
description: Roll up child amounts.
example: true
department:
type: object
description: >-
Department to filter by if `reportFilters.department` is set to
`specific` or `specificHierarchy`.
properties:
key:
type: string
description: System-assigned key for the department.
example: '9'
id:
type: string
description: Unique identifier of the department.
example: '01'
name:
type: string
description: Name of the department.
readOnly: true
example: Accounting
href:
type: string
description: URL endpoint of the department.
readOnly: true
example: /objects/company-config/department/9
departmentGroup:
type: object
description: >-
Department group to filter by if `reportFilters.department` is set
to `specific` or `specificHierarchy`.
properties:
key:
type: string
description: System-assigned key for the department group.
example: '3086'
id:
type: string
description: Unique identifier of the department group.
example: SA01
name:
type: string
description: Name of the department group.
example: Sales
href:
type: string
description: URL endpoint of the department group.
readOnly: true
example: /objects/company-config/department-group/3086
accountPurpose:
type: object
description: Account group purpose to associate with this account group.
properties:
key:
type: string
description: System-assigned key for the account group purpose.
example: '126'
id:
type: string
description: Unique identifier of the account group purpose.
example: P&L
name:
type: string
description: Name of the account group purpose.
example: null
href:
type: string
description: URL endpoint of the account group purpose.
readOnly: true
example: /objects/company-config/account-group-purpose/126
location:
type: object
description: >-
Location to filter by if `reportFilters.location` is set to
`specific` or `specificHierarchy`.
properties:
key:
type: string
id:
type: string
name:
type: string
readOnly: true
href:
type: string
readOnly: true
locationGroup:
type: object
description: >-
Location group to filter by if `reportFilters.location` is set to
`specific` or `specificHierarchy`.
properties:
key:
type: string
example: null
id:
type: string
example: null
name:
type: string
example: null
href:
type: string
readOnly: true
glAccountRanges:
description: Array of account range for the account group.
type: array
items:
$ref: '#/components/schemas/general-ledger-account-range'
audit:
$ref: '#/components/schemas/audit'
href:
type: string
readOnly: true
example: /objects/general-ledger/account-group/33
general-ledger-account-group-purposeRequiredProperties:
type: object
required:
- id
general-ledger-account-group-purpose:
type: object
description: >-
Account group purposes let you filter account groups according to why
you might use them, which is particularly useful in financial reporting.
You create account group purposes, which you can then specify when
creating or updating your account groups.
properties:
key:
type: string
description: System-assigned key for the account group purpose.
readOnly: true
example: '21'
id:
type: string
description: Name for the account group purpose.
example: P&L
href:
type: string
description: URL endpoint of the account group purpose.
readOnly: true
example: /objects/general-ledger/account-group-purpose/2
status:
$ref: '#/components/schemas/status'
audit:
$ref: '#/components/schemas/audit'
general-ledger-journalRequiredProperties:
type: object
required:
- id
- name
general-ledger-journal:
type: object
description: General ledger journal
properties:
key:
type: string
description: >-
System-assigned key for the journal. Used to identify the journal in
URLs or JSON bodies for all operations on the journal.
readOnly: true
example: '3'
id:
type: string
description: >-
An abbreviation (symbol) for this journal, for example, AP. In most
places in Sage Intacct, the symbol appears along with the title of
the journal, as in "AP--Accounts Payable."
example: EJ
name:
type: string
description: The full name of the journal, as it should appear in reports.
example: Expense Journal
isBillable:
type: boolean
description: >-
Set to `true` to enable journal entry line items for a project to be
marked as billable. (Requires Projects subscription and billable
General Ledger transactions to be enabled.)
default: false
example: true
status:
$ref: '#/components/schemas/status'
example: inactive
isAdjustment:
type: boolean
description: Set to `true` if the journal is an adjustments journal.
default: false
example: false
bookId:
type: string
description: >-
The reporting book for which the journal was created. For most
companies, the reporting book is accrual. If the company is set up
for dual-method reporting, the choices are accrual, cash, or accrual
and cash.
readOnly: true
example: Accrual
bookType:
type: string
description: >-
A book type could be Accrual, Cash, Cash and Accrual or
Consolidation. For most companies, the reporting book is accrual.
If the company is set up for dual-method reporting, the choices are
accrual, cash, or accrual and cash.
enum:
- accrual
- cash
- cashAndAccrual
- consolidation
default: accrual
example: accrual
audit:
$ref: '#/components/schemas/audit'
enableApproval:
type: boolean
description: >-
Set to `true` to enable [journal entry
approvals](https://www.intacct.com/ia/docs/en_US/help_action/General_Ledger/Approvals/journal-entry-approval-overview.htm).
readOnly: true
default: false
example: false
href:
type: string
description: URL for this journal.
example: /objects/general-ledger/journal/3
readOnly: true
general-ledger-journal-entryRequiredProperties:
type: object
required:
- glJournal
- postingDate
- description
- lines
properties:
lines:
type: array
items:
required:
- txnAmount
- txnType
- glAccount
state:
type: string
enum:
- draft
- submitted
- partiallyApproved
- partiallyPaid
- approved
- paid
- posted
- declined
- reversalPending
- reversed
- reversal
default: posted
description: State to update the entry to. Posted to post to the GL
example: draft
currency:
type: object
properties:
exchangeRateDate:
type: string
format: date
example: '2014-01-08'
description: Exchange rate date
exchangeRateTypeId:
type: string
description: Exchange rate type
example: Intacct Daily Rate
exchangeRate:
type: number
description: Exchange rate
example: 0.78
baseCurrency:
type: string
description: Base currency
example: USD
txnCurrency:
type: string
description: Transaction currency
example: GBP
gl-account-ref:
type: object
properties:
key:
type: string
description: Account key
example: '144'
id:
type: string
description: Account ID
example: '1112'
name:
type: string
description: Account title
readOnly: true
example: Employee Advances
href:
type: string
description: URL endpoint of the general ledger account.
readOnly: true
example: /objects/general-ledger/account/144
dimension-ref:
type: object
properties:
location:
type: object
properties:
key:
type: string
description: Location key
example: '22'
nullable: true
id:
type: string
description: Location
example: LOC-22
nullable: true
name:
type: string
description: Location name
readOnly: true
example: California
nullable: true
href:
type: string
readOnly: true
example: /objects/company-config/location/22
department:
type: object
properties:
key:
type: string
description: Department key
example: '11'
nullable: true
id:
type: string
description: Department
example: DEP-11
nullable: true
name:
type: string
description: Department name
readOnly: true
example: Sales and Marketing
nullable: true
href:
type: string
readOnly: true
example: /objects/company-config/department/11
employee:
type: object
properties:
key:
type: string
description: Employee key
example: '10'
nullable: true
id:
type: string
description: Employee ID
example: EMP-10
nullable: true
name:
type: string
description: Employee name
readOnly: true
example: Thomas, Glenn
nullable: true
href:
type: string
example: /objects/company-config/employee/10
readOnly: true
project:
type: object
properties:
key:
type: string
description: Project key
example: '2'
nullable: true
id:
type: string
description: Project ID
example: NET-XML30-2
nullable: true
name:
type: string
description: Project name
readOnly: true
example: Talcomp training
nullable: true
href:
type: string
readOnly: true
example: /objects/projects/project/2
customer:
type: object
properties:
key:
type: string
description: Customer key
example: '13'
nullable: true
id:
type: string
description: Customer ID
example: CUST-13
nullable: true
name:
type: string
description: Customer name
readOnly: true
example: Jack In the Box
nullable: true
href:
type: string
readOnly: true
example: /objects/accounts-receivable/customer/13
vendor:
type: object
properties:
key:
type: string
description: Vendor key
example: '357'
nullable: true
id:
type: string
description: Vendor ID
example: '1605212096809'
nullable: true
name:
type: string
description: Vendor name
readOnly: true
example: GenLab
nullable: true
href:
type: string
readOnly: true
example: /objects/accounts-payable/vendor/357
item:
type: object
properties:
key:
type: string
description: Item key
example: '13'
nullable: true
id:
type: string
description: Item ID
example: Case 13
nullable: true
name:
type: string
description: Item name
readOnly: true
example: Platform pack
nullable: true
href:
type: string
readOnly: true
example: /objects/inventory-control/item/13
warehouse:
type: object
properties:
key:
type: string
description: Warehouse key
example: '6'
nullable: true
id:
type: string
description: Warehouse ID
example: WH01
nullable: true
name:
type: string
description: Warehouse name
readOnly: true
example: WH01
nullable: true
href:
type: string
readOnly: true
example: /objects/inventory-control/warehouse/6
class:
type: object
properties:
key:
type: string
description: Class key
example: '731'
nullable: true
id:
type: string
description: Class ID
example: REST_CLS_001
nullable: true
name:
type: string
description: Class name
readOnly: true
example: Enterprises
nullable: true
href:
type: string
readOnly: true
example: /objects/company-config/class/731
task:
type: object
properties:
id:
type: string
description: Task ID
example: '1'
nullable: true
key:
type: string
description: Task key
example: '1'
nullable: true
name:
type: string
description: Task name
readOnly: true
example: Project Task
nullable: true
href:
type: string
readOnly: true
example: /objects/projects/task/1
costType:
type: object
properties:
id:
type: string
description: Cost Type ID
example: '2'
nullable: true
key:
type: string
description: Cost Type key
example: '2'
nullable: true
name:
type: string
description: Cost Type name
readOnly: true
example: Project Expense
nullable: true
href:
type: string
readOnly: true
example: /objects/construction/cost-type/2
asset:
type: object
properties:
id:
type: string
description: Asset ID
example: A001
nullable: true
key:
type: string
description: Asset key
example: '1'
nullable: true
name:
type: string
description: Asset name
readOnly: true
example: Laptop 1
nullable: true
href:
type: string
readOnly: true
example: /objects/fixed-assets/asset/1
contract:
type: object
properties:
id:
type: string
description: Contract ID
example: CON-0045-1
nullable: true
key:
type: string
description: Contract key
example: '12'
nullable: true
name:
type: string
description: Contract name
readOnly: true
example: ACME Widgets - Service
nullable: true
href:
type: string
readOnly: true
example: /objects/contracts/contract/12
general-ledger-journal-entry-line:
type: object
description: Journal entry line, owned object of journal entry.
properties:
key:
type: string
description: System assigned unique key for the journal entry line.
readOnly: true
example: '1981'
id:
type: string
description: Same as `key` for this object.
readOnly: true
example: '1981'
lineNumber:
type: integer
description: Line number of the journal entry line.
readOnly: true
example: 1
txnType:
type: string
description: Transaction type - debit or credit.
enum:
- debit
- credit
default: debit
example: credit
txnAmount:
type: string
description: Transaction amount as an absolute value.
format: decimal-precision-2
example: '100.45'
entryDate:
type: string
format: date
description: Entry date. Default is the current date.
readOnly: true
example: '2024-01-23'
documentId:
type: string
description: Document number of entry.
example: Revenue_Documentation
description:
type: string
description: Description of the journal entry line.
example: Revenue Entries
numberOfUnits:
type: integer
description: Number of units
example: 5
reconciliationGroup:
type: object
readOnly: true
properties:
clearingDate:
type: string
format: date
description: Automatically added when reconciliation is done.
readOnly: true
example: '2024-01-23'
cleared:
type: string
enum:
- 'true'
- 'false'
- matched
description: Status to show the reconciliation stage.
readOnly: true
example: 'false'
reconciliationDate:
type: string
format: date
description: Reconciliation date
readOnly: true
example: '2024-01-23'
accountingPeriod:
type: integer
description: Accounting period if company uses custom accounting periods.
example: 11
isBillable:
type: boolean
description: >-
Set to `true` to mark the line item as billable. (Requires Projects
subscription and billable General Ledger transactions to be
enabled.)
default: false
example: false
isBilled:
type: boolean
description: Billed flag
readOnly: true
default: false
example: false
baseAmount:
type: string
description: Transaction amount multiplied by the exchange rate.
format: decimal-precision-2
example: '100.45'
readOnly: true
exchangeRate:
type: object
description: Exchange rate details used to calculate the base amount.
properties:
date:
type: string
format: date
example: '2024-01-23'
description: >-
Exchange rate date for this transaction. Can be the current
date, the date the transaction was issued, or the date the
transaction will be paid.
rate:
type: number
description: >-
Exchange rate is used to calculate the base amount from the
transaction amount. Required if multi currency is enabled and
`typeId` is not set. Exchange rate amount to 4 decimals.
example: 1.0789
typeId:
type: string
description: >-
Exchange rate type is used to calculate the base amount from the
transaction amount. Required if multi-currency is enabled and
`rate` is not set. Default value is `custom`.
example: INR-Rate
state:
$ref: '#/components/schemas/state'
audit:
$ref: '#/components/schemas/audit'
currency:
$ref: '#/components/schemas/currency'
glAccount:
$ref: '#/components/schemas/gl-account-ref'
allocation:
type: object
description: Template to use for predefined transaction allocations.
properties:
key:
type: string
description: System-assigned key for the transaction allocation template.
example: '21'
id:
type: string
description: User-defined transaction allocation template ID.
example: FA_ALLOC
href:
type: string
readOnly: true
example: /objects/general-ledger/txn-allocation-template/21
dimensions:
$ref: '#/components/schemas/dimension-ref'
href:
type: string
description: URL endpoint for this journal entry line.
readOnly: true
example: /objects/general-ledger/journal-entry-line/1981
journalEntry:
type: object
description: Journal entry that this journal entry line is owned by.
properties:
id:
type: string
example: '132'
key:
type: string
example: '132'
href:
type: string
readOnly: true
example: /objects/general-ledger/journal-entry/132
general-ledger-journal-entry:
type: object
description: >-
Journal entries are used to add, edit, or reverse transactions to a
journal.
properties:
key:
type: string
description: >-
System-assigned unique key for the journal entry. Used to identify
the journal entry in URLs or JSON bodies for all operations on the
journal entry.
example: '132'
readOnly: true
id:
type: string
description: Same as `key` for this object.
example: '132'
readOnly: true
txnNumber:
type: integer
description: System-assigned transaction number.
example: 40
readOnly: true
glJournal:
type: object
description: The journal to use for this entry.
properties:
key:
type: string
description: System-assigned key for the journal.
example: '3'
id:
type: string
description: The id of the journal.
example: EJ
isAdjustment:
type: boolean
description: Value will be `true` if the journal is an adjustments journal.
readOnly: true
example: false
default: false
href:
type: string
description: URL endpoint for this journal.
example: /objects/general-ledger/journal/3
readOnly: true
description:
type: string
description: Description of the transaction.
example: Revenue entries
postingDate:
type: string
format: date
description: Posting date.
example: '2023-04-01'
automaticReversalDate:
type: string
format: date
description: >-
Reversal date if you want to reverse this transaction on a certain
date. Must be greater than `postingDate`.
example: '2023-04-04'
nullable: true
reversedFromDate:
type: string
format: date
description: >-
Populated only if the journal is reversed and represents the posting
date of the reversal.
example: '2023-04-05'
readOnly: true
nullable: true
reversedBy:
type: object
description: Reference to the journal entry that reversed the current entry.
readOnly: true
properties:
key:
type: string
description: System-assigned key of the reversing entry.
readOnly: true
example: '663'
nullable: true
href:
type: string
readOnly: true
example: /objects/general-ledger/journal-entry/663
moduleName:
type: string
description: Intacct module that the journal entry originates from.
example: 2.GL
referenceNumber:
type: string
description: User-provided reference number.
example: Recurr_GL_101
baseLocation:
type: object
description: >-
Base location for a multi-entity company. Required if a company is
multi-entity enabled and entries do not balance by entity.
properties:
key:
description: Location key.
type: string
example: '32'
id:
description: Location unique ID.
type: string
example: BC
href:
description: Location URL.
type: string
example: /objects/company-config/location/32
readOnly: true
state:
type: string
description: >-
State of the entry. The only valid values when creating a new entry
are `posted` (default) to post to the GL, and `draft`.
enum:
- draft
- submitted
- partiallyApproved
- approved
- posted
- declined
- reversalPending
- reversed
default: posted
example: draft
sequenceNumber:
type: string
description: System-generated accounting sequence number.
example: GLJE#_001
readOnly: true
taxSolution:
type: object
description: >-
Tax solution reference. 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](tax-tax-solution)
for more information. (GB, AU, and ZA only)
readOnly: true
properties:
key:
type: string
example: '5'
id:
type: string
example: Australia - GST
href:
type: string
readOnly: true
example: /objects/tax/tax-solution/5
audit:
$ref: '#/components/schemas/audit'
href:
type: string
description: URL endpoint for this journal entry.
readOnly: true
example: /objects/general-ledger/journal-entry/132
accountAllocationRun:
type: object
description: The account allocation run to use for this entry.
readOnly: true
properties:
key:
type: string
description: System-assigned key for the account allocation run.
readOnly: true
nullable: true
example: '87'
id:
type: string
description: The id of the account allocation run.
readOnly: true
nullable: true
example: '87'
href:
type: string
description: URL endpoint for this account allocation run.
example: /objects/general-ledger/account-allocation-run/87
readOnly: true
lines:
description: >-
Journal entry lines included in this entry. Must have at least two
lines, one debit and one credit.
type: array
minItems: 2
items:
$ref: '#/components/schemas/general-ledger-journal-entry-line'
journal-entry-request:
type: object
properties:
key:
type: string
description: System-assigned key for the journal entry.
example: '132'
required:
- key
submit-journal-entry-response:
type: object
properties:
key:
type: string
example: '132'
id:
type: string
example: '132'
href:
type: string
example: /objects/general-ledger/journal-entry/132
state:
type: string
description: State of the entry
enum:
- submitted
example: submitted
approve-request:
type: object
properties:
key:
type: string
description: System-assigned key for the journal entry.
example: '132'
notes:
type: string
description: Notes or comments about this journal entry.
example: Approved, ready for use
required:
- key
approve-response:
type: object
properties:
key:
type: string
example: '132'
id:
type: string
example: '132'
href:
type: string
example: /objects/general-ledger/journal-entry/132
state:
type: string
description: State of the entry
readOnly: true
enum:
- approved
example: approved
decline-journal-entry-request:
type: object
properties:
key:
type: string
description: System-assigned key for the journal entry.
example: '132'
notes:
type: string
description: Notes or comments about this journal entry.
example: Declined, missing information
required:
- key
decline-journal-entry-response:
type: object
properties:
key:
type: string
example: '132'
id:
type: string
example: '132'
href:
type: string
example: /objects/general-ledger/journal-entry/132
state:
type: string
description: State of the entry
enum:
- declined
example: declined
recall-response:
type: object
properties:
key:
type: string
example: '132'
id:
type: string
example: '132'
href:
type: string
example: /objects/general-ledger/journal-entry/132
state:
type: string
description: State of the entry
enum:
- draft
example: draft
reverse-request:
type: object
properties:
key:
type: string
description: System-assigned key for the journal entry.
example: '132'
reverseDate:
type: string
format: date
description: >-
Reversal date to reverse the transaction on a certain date. Must be
greater than `postingDate`.
example: '2023-04-04'
required:
- key
- reverseDate
reverse-response:
type: object
properties:
key:
type: string
example: '132'
id:
type: string
example: '132'
href:
type: string
example: /objects/general-ledger/journal-entry/132
state:
type: string
description: State of the entry
enum:
- reversed
example: reversed
reclassify-request:
type: object
properties:
key:
type: string
description: >-
System-assigned unique key for the journal entry. Used to identify
the journal entry in URLs or JSON bodies for all operations on the
journal entry.
example: '132'
id:
type: string
description: Same as `key` for this object.
example: '132'
description:
type: string
description: Description of the transaction.
example: Revenue entries
referenceNumber:
type: string
description: User-provided reference number.
example: Recurr_GL_101
attachment:
type: object
description: Supporting document for the journal batch.
properties:
key:
type: string
description: System-assigned key for the attachment.
example: '6'
id:
type: string
description: Unique ID of the attachment.
example: Doc6331
href:
type: string
description: URL endpoint for the attachment.
readOnly: true
example: /objects/company-config/attachment/6
state:
type: string
description: >-
State of the entry. The only valid values when creating a new entry
are `posted` (default) to post to the GL, and `draft`.
enum:
- posted
default: posted
example: draft
href:
type: string
description: URL endpoint for this journal entry.
readOnly: true
example: /objects/general-ledger/journal-entry/132
lines:
description: >-
Journal entry lines included in this entry. Must have at least two
lines, one debit and one credit.
type: array
items:
$ref: '#/components/schemas/general-ledger-journal-entry-line'
required:
- key
reclassify-response:
type: object
properties:
key:
type: string
example: '132'
id:
type: string
example: '132'
href:
type: string
example: /objects/general-ledger/journal-entry/132
state:
type: string
description: State of the entry
enum:
- posted
example: posted
general-ledger-journal-entry-lineRequiredProperties:
type: object
properties:
glAccount:
required:
- id
example: '1000'
required:
- txnAmount
- txnType
- glAccount
general-ledger-statistical-journalRequiredProperties:
type: object
required:
- id
- name
general-ledger-statistical-journal:
type: object
description: Statistical journal hold all non-financial transactions.
properties:
key:
type: string
description: >-
System-assigned key for the statistical journal. Used to identify
the journal in URLs or JSON bodies for all operations on the
journal.
readOnly: true
example: '36'
id:
type: string
description: >-
An abbreviation (symbol) for this journal, for example, APJ. In most
places in Sage Intacct the symbol appears along with the title of
the journal, as in "TS--Timesheets."
example: TSSJ
name:
type: string
description: >-
The full name or title of the journal, as it should appear in
reports.
example: Timesheet Statistical Journal
status:
$ref: '#/components/schemas/status'
example: active
audit:
$ref: '#/components/schemas/audit'
href:
type: string
description: URL endpoint for this journal.
readOnly: true
example: /objects/general-ledger/statistical-journal/36
general-ledger-statistical-journal-entryRequiredProperties:
type: object
required:
- statisticalJournal
- postingDate
- description
- lines
properties:
lines:
type: array
items:
required:
- txnAmount
- txnType
- statisticalAccount
gl-statistical-account-ref:
type: object
properties:
key:
type: string
description: Statistical GL Account Key
example: '144'
id:
type: string
description: Statistical GL Account ID
example: '1112'
name:
type: string
description: Statistical GL Account Title
readOnly: true
example: Root - Billable Non-Utilized Statistical Account
href:
type: string
readOnly: true
example: /objects/general-ledger/statistical-account/144
general-ledger-statistical-journal-entry-line:
type: object
description: Detail and header information for the statistical journal entries.
properties:
key:
type: string
description: System assigned unique key for the statistical journal entry line.
readOnly: true
example: '1981'
id:
type: string
description: >-
Same as key` for this object. API operations should use the `key`
field to refer to a statistical journal entry line.
readOnly: true
example: '1981'
lineNumber:
type: integer
description: Line number of the statistical journal entry line.
readOnly: true
example: 1
txnType:
type: string
description: Transaction type - Increase or Decrease.
enum:
- increase
- decrease
default: increase
example: increase
txnAmount:
type: string
description: Transaction amount as an absolute value.
format: decimal-precision-2
example: '100.45'
entryDate:
type: string
format: date
description: Entry date. Default is the current date.
readOnly: true
example: '2021-01-23'
documentId:
type: string
description: >-
Document name or ID. Use Document ID to refer to an associated
document.
example: Revenue_Documentation
description:
type: string
description: Description of the statistical journal entry line.
example: Revenue Entries
numberOfUnits:
type: integer
description: Number of units
example: 5
readOnly: true
reconciliationGroup:
type: object
readOnly: true
properties:
clearingDate:
type: string
format: date
description: Automatically added when reconciliation is done.
readOnly: true
example: '2021-01-23'
cleared:
type: string
enum:
- 'true'
- 'false'
- matched
description: Status to mark the reconciliation stage.
readOnly: true
example: 'false'
reconciliationDate:
type: string
format: date
description: Reconciliation date
readOnly: true
example: '2021-01-23'
accountingPeriod:
type: integer
description: Accounting period if company uses custom accounting periods.
nullable: true
example: 11
readOnly: true
state:
$ref: '#/components/schemas/state'
audit:
$ref: '#/components/schemas/audit'
statisticalAccount:
$ref: '#/components/schemas/gl-statistical-account-ref'
allocation:
type: object
description: Template to use for predefined transaction allocations.
properties:
key:
type: string
description: System-assigned key for the transaction allocation template.
example: '21'
id:
type: string
description: User-defined transaction allocation template ID.
example: FA_ALLOC
href:
type: string
readOnly: true
example: /objects/general-ledger/txn-allocation-template/21
dimensions:
$ref: '#/components/schemas/dimension-ref'
href:
type: string
description: URL endpoint for this statistical journal entry line.
readOnly: true
example: /objects/general-ledger/statistical-journal-entry-line/1981
statisticalJournalEntry:
type: object
description: Statistical journal entry that this journal entry line is owned by.
readOnly: true
properties:
id:
type: string
readOnly: true
example: '132'
key:
type: string
readOnly: true
example: '132'
href:
type: string
readOnly: true
example: /objects/general-ledger/statistical-journal-entry/132
general-ledger-statistical-journal-entry:
type: object
description: >-
Statistical journal entries are used to add, edit, or reverse
transactions to a journal.
properties:
key:
type: string
description: >-
System-assigned unique key for the statistical journal entry. Used
to identify the journal entry in URLs or JSON bodies for all
operations on the statistical journal entry.
readOnly: true
example: '23'
id:
type: string
description: Same as `key` for this object.
readOnly: true
example: '23'
txnNumber:
type: integer
description: System-assigned transaction number.
example: 40
readOnly: true
description:
type: string
description: Description of the transaction.
example: Revenue entries
postingDate:
type: string
format: date
description: Posting date.
example: '2023-04-01'
moduleName:
type: string
description: Intacct module that the journal entry originates from.
default: 2.GL
example: 2.GL
readOnly: true
automaticReversalDate:
type: string
format: date
description: >-
Reversal date if you want to reverse this transaction on a certain
date. Must be greater than `postingDate`.
example: '2023-04-04'
nullable: true
reversedFromDate:
type: string
format: date
description: >-
Populated only if the journal is reversed and represents the posting
date of the reversal.
example: '2023-04-05'
readOnly: true
nullable: true
reversedBy:
type: object
description: Reference to the journal entry that reversed the current entry.
readOnly: true
properties:
key:
type: string
description: System-assigned key of the reversing entry.
readOnly: true
example: '663'
nullable: true
id:
type: string
description: Same as `key` for this object.
readOnly: true
example: '663'
nullable: true
href:
type: string
readOnly: true
example: /objects/general-ledger/statistical-journal-entry/663
state:
type: string
description: >-
State of the entry. The only valid values when creating a new entry
are `posted` (default) to post to the GL, and `draft`.
enum:
- draft
- submitted
- partiallyApproved
- approved
- posted
- declined
- reversalPending
- reversed
default: posted
readOnly: true
example: draft
sequenceNumber:
type: string
description: System-generated accounting sequence number.
readOnly: true
example: STATGLJE#_001
statisticalJournal:
type: object
description: The journal to use for this entry.
properties:
key:
type: string
description: System-assigned key for the journal.
example: '3'
id:
type: string
description: The id of the journal.
example: EJ
href:
type: string
description: URL endpoint for this journal.
example: /objects/general-ledger/statistical-journal/3
readOnly: true
referenceNumber:
type: string
description: User-provided reference number.
example: Recurr_GL_101
entity:
$ref: '#/components/schemas/entity-ref'
audit:
$ref: '#/components/schemas/audit'
href:
type: string
description: Endpoint for the statistical-gl-entry.
readOnly: true
example: /objects/general-ledger/statistical-journal-entry/23
lines:
description: >-
Statistical journal entry lines included in this entry. Must have at
least one line.
type: array
minItems: 1
items:
$ref: '#/components/schemas/general-ledger-statistical-journal-entry-line'
general-ledger-budgetRequiredProperties:
type: object
required:
- id
- description
properties:
lines:
type: array
items:
required:
- glAccount
- amount
reporting-period-ref:
type: object
properties:
key:
type: string
description: Reporting period key.
example: '79'
id:
type: string
description: Reporting period ID (case sensitive)
example: January 2021
href:
type: string
description: URL for this reporting period.
readOnly: true
example: /objects/general-ledger/reporting-period/45
general-ledger-budget-detail:
type: object
description: Budget detail
properties:
key:
type: string
description: >-
System-assigned key for the budget detail. Used to identify the
budget detail in URLs or JSON bodies for all operations on the
budget.
readOnly: true
example: '291'
id:
type: string
description: Budget detail ID
readOnly: true
example: '291'
budget:
description: The budget object that this budget detail is owned by.
type: object
readOnly: true
properties:
id:
type: string
readOnly: true
example: Employee Expense Budget
key:
type: string
readOnly: true
example: '5'
href:
type: string
readOnly: true
example: /objects/general-ledger/budget/5
glAccount:
type: object
description: >-
The General Ledger or Statistical account that this budget is for.
The account in a budget-detail object cannot be changed after it has
been created.
allOf:
- $ref: '#/components/schemas/gl-account-ref'
- type: object
properties:
key:
type: string
description: Account key
example: '9'
id:
type: string
description: Account ID
example: '4000'
name:
type: string
description: Account title
readOnly: true
example: Revenue
href:
type: string
description: URL endpoint of the account.
readOnly: true
example: /objects/general-ledger/account/9
dimensions:
description: >-
Dimensions to apply to this budget detail. Any dimension that is
available in the General Ledger can be used with budgets, including
user-defined dimensions (not listed here).
To track budget data at the dimension level, such as tracking data
for different departments and locations, you will need to add
multiple budget detail objects for each account. For example, if you
are entering Travel Expense data for 3 locations, you will need 3
budget detail objects for this account, one for each location.
The dimensions in a budget-detail object cannot be changed after it
has been saved.
type: object
allOf:
- $ref: '#/components/schemas/dimension-ref'
- type: object
properties:
location:
title: location
description: Location is required if multi-currency is enabled.
type: object
properties:
key:
type: string
description: Location key
example: '1'
id:
type: string
description: Location ID
example: NV
name:
type: string
description: Location name
readOnly: true
example: Nevada
href:
type: string
example: /objects/company-config/location/1
department:
title: department
type: object
properties:
key:
type: string
description: Department Key
example: '3'
id:
type: string
description: Department
example: ENG
name:
type: string
description: Department Name
readOnly: true
example: Engineering
href:
type: string
example: /objects/company-config/department/3
reportingPeriod:
type: object
description: >-
The reporting period for the budget detail. A period cannot be used
if it is already being used in another budget combination of
reporting period, account, department, and location.
allOf:
- $ref: '#/components/schemas/reporting-period-ref'
notes:
type: string
description: Notes or description of the budget detail.
example: Projection for 2021
budgetGrowth:
type: object
description: >-
To create a budget from an existing budget, provide the type of
budget to use and the planned growth amount. The resulting amount
will be computed when you create or update the budget-detail.
properties:
basedOn:
description: >-
Whether the new budget should be based on the budget amounts
from the selected past period, the actual amounts, or by
employee count.
type: string
example: budget
enum:
- null
- budget
- actual
- employeeCount
nullable: true
default: null
growBy:
description: >-
The amount of planned budget growth or reduction to apply to the
past period budget or actual amount.
type: string
format: decimal-precision-2
example: '10.00'
perPeriod:
description: >-
Whether planned budget change is an actual value or a
percentage.
type: string
enum:
- null
- actual
- percentage
nullable: true
default: null
example: percentage
amount:
description: >-
Budget amount for the specified period. The API does not compute
amounts for calculated budgets, so an `amount` must be provided when
creating a budget-detail.
type: string
format: decimal-precision-2
example: '100.00'
currency:
description: >-
For global consolidations, the base and transaction currencies to
use.
$ref: '#/components/schemas/currency'
audit:
$ref: '#/components/schemas/audit'
general-ledger-budget:
type: object
description: General ledger budget header
properties:
key:
type: string
description: >-
System-assigned key for the budget. Used to identify the budget in
URLs or JSON bodies for all operations on the budget.
readOnly: true
example: '5'
id:
type: string
description: >-
Budget name or ID. Best practice is to give the budget an ID that
doesn't reference a particular fiscal year or date. This allows
appending new time periods to an existing budget.
example: Employee Expense Budget
description:
type: string
description: Description of the budget.
example: Budget for project costs
isDefault:
type: boolean
description: >-
Set to `true` to mark the budget as the company's default budget to
use in financial reports. One top-level budget must be designated as
the default. The system sets this value for all other budgets to
`false`.
default: false
example: false
submitterName:
type: string
description: The ID of the user who most recently modified the budget.
readOnly: true
example: Admin
status:
$ref: '#/components/schemas/status'
example: active
consolidateAmounts:
type: boolean
description: >-
For companies using consolidation, set this field to `true` to mark
this as a consolidated budget.
default: false
example: false
currency:
type: string
description: >-
Consolidation currency code. Required if `consolidateAmounts` is set
to `true`.
example: USD
postProjectEstimate:
type: boolean
description: >-
Set to `true` to enable project estimates to post to this budget.
Requires Construction subscription.
default: false
example: false
audit:
$ref: '#/components/schemas/audit'
href:
type: string
description: URL endpoint for the budget.
readOnly: true
example: /objects/general-ledger/budget/1
lines:
description: Array of budget details for each reporting period.
type: array
items:
$ref: '#/components/schemas/general-ledger-budget-detail'
general-ledger-reporting-periodRequiredProperties:
type: object
required:
- id
- columnHeader1
general-ledger-reporting-period:
type: object
description: Reporting period definition
properties:
key:
type: string
description: System-assigned unique key for the reporting period.
readOnly: true
example: '421'
id:
type: string
description: Reporting period name.
example: Current Month
columnHeader1:
type: string
description: The first line to be shown on the report, such as "Quarter Ended".
example: Quarter Ended
columnHeader2:
type: string
description: The second line to be shown on the report, such as "April 2023".
nullable: true
example: April 2023
startDate:
type: string
format: date
description: The starting date of the reporting period.
nullable: true
example: '2023-04-01'
endDate:
type: string
format: date
description: The ending date of the reporting period.
nullable: true
example: '2023-06-30'
isBudgetable:
type: boolean
description: >-
Set to `true` to make this reporting period available for inclusion
in budgets.
example: true
default: false
href:
type: string
description: URL endpoint for the reporting period.
readOnly: true
example: /objects/general-ledger/reporting-period/1
status:
$ref: '#/components/schemas/status'
audit:
$ref: '#/components/schemas/audit'
general-ledger-txn-allocation-templateRequiredProperties:
type: object
required:
- id
- lines
general-ledger-txn-allocation-template-line:
type: object
description: Line level component of a transaction allocation template.
properties:
key:
type: string
description: System-assigned unique key for the allocation line entry.
readOnly: true
example: '1'
id:
type: string
description: This value is the same as the `key` value for this object.
readOnly: true
example: '1'
value:
type: string
description: The exact amount or percentage to allocate for this line.
example: '60.56'
valueType:
type: string
description: >-
For `fixedAmount` allocations, specifies whether the current line is
an exact amount or percentage. Not needed for `percentage` and
`exactAmount` allocations.
example: amount
enum:
- amount
- percent
default: amount
lineNumber:
type: integer
description: >-
Line number of the allocation entry. For `fixedAmount` allocations,
exact amounts are distributed by line number.
example: 1
dimensions:
type: object
description: Dimensions to use in allocations.
allOf:
- $ref: '#/components/schemas/dimension-ref'
- type: object
properties:
location:
title: location
type: object
properties:
key:
type: string
description: Location Key
example: '1'
id:
type: string
description: Location ID
example: '1'
name:
type: string
description: Location Name
readOnly: true
example: United States of America
href:
type: string
example: /objects/company-config/location/1
department:
title: department
type: object
properties:
key:
type: string
description: Department Key
example: '3'
id:
type: string
description: Department ID
example: '3'
name:
type: string
description: Department Name
readOnly: true
example: Engineering
href:
type: string
example: /objects/company-config/department/3
audit:
$ref: '#/components/schemas/audit'
href:
type: string
readOnly: true
example: /objects/general-ledger/txn-allocation-template-line/1
txnAllocationTemplate:
type: object
description: >-
Transaction allocation template that this allocation line belongs
to.
properties:
key:
type: string
readOnly: true
example: '1'
id:
type: string
readOnly: true
example: RootAllocation
href:
type: string
readOnly: true
example: /objects/general-ledger/txn-allocation-template/1
general-ledger-txn-allocation-template:
type: object
description: >-
Header object for standard allocation combinations that are used
routinely.
properties:
key:
type: string
description: System-assigned unique key for the transaction allocation template.
example: '21'
readOnly: true
id:
type: string
description: User defined transaction allocation template ID.
example: FA_ALLOC
description:
type: string
description: A description of the allocation.
example: Fixed Amount Allocation
allocateBy:
type: string
description: >
Determines how transaction allocations are split across the
dimensions included in a transaction.
* Use `percentage` to specify entries as percentages (default)
* Use `exactAmount` to specify entries as fixed amounts
* Use `fixedAmount` for a combination of both. Exact amounts are
distributed first, based on the `lineNumber` values in each
txn-allocation-template-line. Any remaining amount is distributed
using the percentage allocations. Entries for exact amounts must
have lower line numbers than entries for percentages, and
percentages must always total 100%. (You use the `valueType`
parameter on each entry to specify amount or percent.)
example: percentage
enum:
- percentage
- exactAmount
- fixedAmount
default: percentage
documentNumber:
type: string
description: >-
A reference number or name to a specific document--such as a
contract--used to define the transaction allocation template
formula.
example: RJEALC
status:
$ref: '#/components/schemas/status'
attachment:
type: object
description: Supporting document ID for this attachment.
properties:
key:
type: string
example: '21'
id:
type: string
example: Sales01
href:
type: string
readOnly: true
example: /objects/attachment/21
audit:
$ref: '#/components/schemas/audit'
href:
type: string
description: URL endpoint of the allocation template.
example: /objects/general-ledger/txn-allocation-template/21
readOnly: true
lines:
type: array
description: Transaction allocation lines.
items:
$ref: '#/components/schemas/general-ledger-txn-allocation-template-line'
general-ledger-txn-allocation-template-lineRequiredProperties:
type: object
required:
- id
responses:
400error:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/error-response'
securitySchemes:
OAuth2:
description: Sage Intacct OAuth 2.0 authorization code flow
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://api.intacct.com/ia/api/v1-beta2/oauth2/authorize
tokenUrl: https://api.intacct.com/ia/api/v1-beta2/oauth2/token
refreshUrl: https://api.intacct.com/ia/api/v1-beta2/oauth2/token
scopes: {}