JournalEntries
Query, Add, Update, and Delete QuickBooks JounalEntries. Note that while Journal Entry Lines can be created with a new Journal Entry, they cannot be added or removed from an existing Journal Entry.
Table Specific Information
Journal entries are unique in that the credits line items and debit line items have to add up to the same total in one transaction. It is not possible to change a journal line item one at a time and thus end up with an unbalanced transaction.
Select
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or '=' comparison. The available columns for JournalEntries are Id, ReferenceNumber, LineEntityName, LineEntityId, LineAccount and LineAccountId. In addition, the pseudo-columns StartModifiedDate, EndModifiedDate, StartTxnDate, and EndTxnDate may also be specified.
Insert
Note: There are two ways to insert a JournalEntry. See JournalEntryLines for another example of how to insert a JournalEntry.
In order to add a JournalEntry, at least one Credit and one Debit Line must be added. The LineAggregate column may be used to specify an XML aggregate of JournalEntry Line data. The columns that may be used in these aggregates are defined in the JournalEntryLines table as # columns. For example, the following will insert a new JournalEntry with two Credits and one Debit Line:
INSERT Into JournalEntries
(ReferenceNumber, LineAggregate)
VALUES ('12345',
'<JournalEntryLines>
<Row><LineType>Credit</LineType><LineAccount>Retained Earnings</LineAccount><LineAmount>100</LineAmount></Row>
<Row><LineType>Credit</LineType><LineAccount>Note Payable - Bank of Anycity</LineAccount><LineAmount>20</LineAmount></Row>
<Row><LineType>Debit</LineType><LineAccount>Checking</LineAccount><LineAmount>120</LineAmount></Row>
</JournalEntryLines>')
To delete a JournalEntry, simply perform a DELETE statement and set the ID equal to the JournalEntryId value you wish to delete. For example:
DELETE From JournalEntries WHERE Id='16336-1450196662'
QuickBooks Online
The QuickBooks Online API does not support updates.
Columns
| Name | Type | Description | ReadOnly |
| ID [KEY] | String |
The unique identifier for the JournalEntry. | True |
| ReferenceNumber | String |
The transaction reference number. | False |
| TxnNumber | String |
The transaction number. An identifying number for the transaction, but different from the QuickBooks generated ID. | True |
| Date | Date |
The transaction date. If it is set in the WHERE clause of a SELECT query, the pseudo-columns StartDate and EndDate are overwritten with the value. | False |
| CreditLineCount | Integer |
Number of credit lines. | False |
| DebitLineCount | Integer |
Number of debit lines. | False |
| LineAggregate | String |
An aggregate of the Credit Lines and Debit Lines data which can be used for adding a JournalEntry and its Line Item data. | False |
| EditSequence | String |
An identifier for this copy of the object, used for versioning. | False |
| TimeModified | Datetime |
When the Journal Entry was last modified. | False |
| TimeCreated | Datetime |
When the Journal Entry was created. | False |
Pseudo-Columns
Pseudo-Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description | |
| Line* | String |
All LineItem specific columns may be used in insertions or updates. | |
| StartTxnDate | String |
Earliest transaction date to search for. | |
| EndTxnDate | String |
Latest transaction date to search for. | |
| StartModifiedDate | String |
Earliest modified date to search for. | |
| EndModifiedDate | String |
Latest modified date to search for. |