Skip to main content

Journal Entry Service

Journal Entry is the fundamental accounting record used to log a financial transaction as a set of debit and credit lines that must balance to zero. Journal entries are created automatically by other documents (invoices, payments, fulfillments, etc.) or manually by a user, and they drive account balances used across reports such as the General Ledger, Trial Balance, Profit and Loss, and Balance Sheet.

JournalEntryRequest Object

Attributes


AttributeTypeDescription
jeDatestringJournal entry date.
memostringMemo of the journal entry.
currencystringCurrency code of the journal entry.
currencyExchangeRateBigDecimalExchange rate.
primaryCurrencyExchangeRateBigDecimalExchange rate against the tenant's primary currency.
reverseJeIdlongIdentifier of the journal entry this entry reverses, if any.
parentJeIdlongIdentifier of the parent journal entry, if any.
typeenumType of the journal entry. Possible values for journal entry type.
documentCodestringCode of the source document that generated the journal entry.
documentSequenceCodestringSequence code of the source document that generated the journal entry.
contactCodestringContact code.
includeGSTReportbooleanHas the value true if the journal entry should be included in the GST report or false otherwise.
generateCNDNbooleanHas the value true if a credit note/debit note should be generated for the journal entry or false otherwise.
recurringJEbooleanHas the value true if the journal entry is recurring or false otherwise.
recurringActivatedbooleanHas the value true if the recurring schedule is activated or false if it is de-activated.
nextJEDatestringNext recurrence date.
openingbooleanHas the value true if the journal entry is an opening entry or false otherwise.
customFieldlistList of key-value pairs for custom field name and its value.
documentCustomFieldmapCustom field values copied from the source document.
attachmentIdslistList of attachment ids of the journal entry.
jeDocumentSequenceCodestringUnique code associated with the journal entry.
sequenceFormatstringSequence format id.
interCompanybooleanHas the value true if the journal entry is between inter-companies or false otherwise.
primaryPerspectivebooleanHas the value true if this record represents the primary-currency perspective of the journal entry.
perspectiveenumPerspective of the journal entry. Possible values for perspective.
isJEReEnteredbooleanHas the value true if the journal entry was re-entered or false otherwise.
isReverseJebooleanHas the value true if the journal entry is itself a reversal entry or false otherwise.
reversalJeCodestringCode of the reversal journal entry, if any.
reversalJEDatestringDate on which the journal entry was reversed, if any.
taxAdjustmentTypeSAstringTax adjustment type (Saudi Arabia).
taxReturnSectionSAstringTax return section (Saudi Arabia).
journalBillDetailsSAobjectBill details for the journal entry (Saudi Arabia).
journalVATDetailsSAobjectVAT details for the journal entry (Saudi Arabia).
journalTaxDetailsINobjectTax details for the journal entry (India).
lineItemslistList of debit/credit lines of the journal entry. Attributes of Journal Entry Line Items.
journalEntryRecurringDtoobjectRecurring details for the journal entry. Attributes of Journal Entry Recurring Details.
journalCnDnDtoobjectLinked credit note/debit note details. Attributes of Journal Cn/Dn.

API


Create Journal Entry

Creates a new journal entry.

Parameters

Code

  @Autowired
private JournalEntriesApiClient journalEntriesApiClient;

public JournalEntryDetailResponseDto createJournalEntry(JournalEntryDetailRequestDto journalEntryRequest, String accessToken){
return this.journalEntriesApiClient.createJournalEntry(journalEntryRequest, accessToken);
}

Retrieve Journal Entry

Retrieves the details of an existing journal entry. You only need to supply the unique journal entry code that was returned upon journal entry creation.

Parameters

Code

  @Autowired
private JournalEntriesApiClient journalEntriesApiClient;

public JournalEntryDetailResponseDto getJournalEntryByCode(String jeCode, String accessToken){
return this.journalEntriesApiClient.getJournalEntryByCode(jeCode, accessToken);
}

List All Journal Entries

Returns a paginated list of journal entries.

Parameters

  • accessToken string
  • search string
  • customfield string
  • sort string
  • sortDir string
  • page int
  • limit int

Code

  @Autowired
private JournalEntriesApiClient journalEntriesApiClient;

public Page<JournalEntryDetailResponseDto> getJournalEntries(String search, String customfield, String sort,
String sortDir, Integer page, Integer limit, String accessToken){
return this.journalEntriesApiClient.getJournalEntries(search, customfield, sort, sortDir, page, limit, accessToken);
}

Update Journal Entry

Updates the details of an existing journal entry.

Parameters

Code

  @Autowired
private JournalEntriesApiClient journalEntriesApiClient;

public Long updateJournalEntry(Long id, JournalEntryDetailRequestDto journalEntryRequest, String accessToken){
return this.journalEntriesApiClient.updateJournalEntry(id, journalEntryRequest, accessToken);
}

Delete Journal Entry

Deletes an existing journal entry. You only need to supply the unique identifier that was returned upon journal entry creation.

Parameters

Code

  @Autowired
private JournalEntriesApiClient journalEntriesApiClient;

public void deleteJournalEntry(Long id, String accessToken){
this.journalEntriesApiClient.deleteJournalEntry(id, accessToken);
}

Reverse Journal Entry

Creates a reversal journal entry for an existing journal entry. Only journal entries of type NORMAL_JE or BANK_TRANSFER can be reversed.

Parameters

Code

  @Autowired
private JournalEntriesApiClient journalEntriesApiClient;

public Long reverseJournalEntry(Long id, JournalEntryReverseRequestDto journalEntryReverseRequest, String accessToken){
return this.journalEntriesApiClient.reverseJournalEntry(id, journalEntryReverseRequest, accessToken);
}

Create Journal Entries in Bulk

Creates multiple journal entries in a single request.

Parameters

Code

  @Autowired
private JournalEntriesApiClient journalEntriesApiClient;

public BulkApiResponse createJournalEntries(List<JournalEntryDetailRequestDto> journalEntryRequests, String accessToken){
return this.journalEntriesApiClient.createJournalEntries(journalEntryRequests, accessToken);
}

Objects


JournalEntryLineItemsDto

A single debit or credit line of a journal entry.

AttributeTypeDescription
idlongUnique identifier for the line item.
cdTypeenumCredit/debit indicator of the line item. Possible values for credit debit type.
amountBigDecimalAmount of the line item.
amountInDocumentCurrencyBigDecimalAmount of the line item in the document's currency.
descriptionstringDescription of the line item.
accountCodestringAccount code of the line item.
accountNamestringAccount name of the line item.
codestringDisplay code of the account.
parentAccountstringParent account code, if any.
contactCodestringContact code linked to the line item.
contactNamestringContact name linked to the line item.
customFieldlistList of key-value pairs for custom field name and its value.
lineNumberintLine number of the line item.
lineItemCodelongUnique code of the line item.
exchangeRateBigDecimalExchange rate applied to the line item.
generateCNbooleanHas the value true if a credit note should be generated for the line item or false otherwise.
generateDNbooleanHas the value true if a debit note should be generated for the line item or false otherwise.
cndnIdlongIdentifier of the linked credit note/debit note.
cndnCodestringCode of the linked credit note/debit note.
isExtraCostbooleanHas the value true if the line item represents an extra cost or false otherwise.
includeInValuationbooleanHas the value true if the line item should be included in inventory valuation or false otherwise.
gstTypeIndiaenumGST type of the line item (India). Possible values for GST type India.
jeLineItemMetaDataobjectTax metadata for the line item. Attributes of JE Line Item Meta Data.

JELineItemMetaData

Tax metadata attached to a journal entry line item.

AttributeTypeDescription
taxNamestringName of the tax.
taxSequencestringSequence code of the tax.
taxCodestringTax code.
taxPercentBigDecimalTax percentage.
contactNamestringContact name associated with the tax line.
baseAmountBigDecimalBase amount the tax was calculated on.
isAdditionalTaxDetailsINbooleanHas the value true if additional India tax details are present.
jeLineItemAdditionalDetailsINobjectAdditional tax details for the line item (India).

JournalEntryRecurringDto

Recurring schedule details for a journal entry.

AttributeTypeDescription
journalEntryIDlongIdentifier of the journal entry this recurring schedule belongs to.
recurrenceTypeintEvery x Days/Weeks/Months.
recurrenceFrequencyenumRecurrence frequency. Possible values for recurring frequency type.
jeRecurringCountintNumber of journal entries to be created.
recurrenceEndDatestringRecurrence end date.
memolistList of memos to use for each generated recurring journal entry.

JournalCnDnDto

Credit note/debit note reference linked to a journal entry.

AttributeTypeDescription
creditNoteNumberstringCredit note number linked to the journal entry.
debitNoteNumberstringDebit note number linked to the journal entry.

Enums


JOURNAL_ENTRY_TYPE

  • NORMAL_JE
  • ADJUSTMENT
  • BANK_TRANSFER
  • PARTY_JE
  • SALES_INVOICE
  • PURCHASE_INVOICE
  • INVENTORY_VARIANCE_ADJUSTMENT
  • DISHONOURED_CHEQUE
  • MAKE_PAYMENT
  • RECEIVE_PAYMENT
  • GOODS_RECEIVED_NOTE
  • INVENTORY
  • DELIVERY_ORDER
  • CREDIT_NOTE
  • DEBIT_NOTE
  • FULFILLMENT
  • GOOD_RECEIPT
  • BOM_ASSEMBLY
  • FIXED_ASSET
  • SALES_RETURN
  • PURCHASE_RETURN
  • SALES_CONTRA
  • PURCHASE_CONTRA
  • BANK_DEPOSIT
  • FINANCIAL_YEAR_CLOSING
  • TDS_JE
  • PAYROLL
  • CONTRACTOR_PAYROLL
  • EXPENSE_CLAIM
  • REVALUATION
  • ASSET_GOOD_RECEIPT
  • FIXED_ASSET_BILL
  • REVENUE_ARRANGEMENT
  • AMORTIZATION
  • REVENUE_ARRANGEMENT_UNBILLED_RECEIVABLE_ADJUSTMENT
  • REVENUE_SCHEDULE_RECLASSIFICATION
  • REVENUE_CARVE_OUT
  • REVENUE_UNBILLED_RECEIVABLE_ADJUSTMENT_REVERSAL
  • ALLOCATION
  • SALES_REFUND
  • BOOK_SPECIFIC_JE

CREDIT_DEBIT_TYPE

  • CREDIT
  • DEBIT

PERSPECTIVE

  • STATUTORY
  • PRIMARY

GST_TYPE_INDIA

  • CGST
  • SGST
  • IGST
  • CESS

RECURRING_FREQUENCY_TYPE

  • DAYS
  • WEEK
  • MONTH

TRANSFER_TYPE

  • BANK_TRANSFER
  • GIRO
  • CASH
  • CHEQUE
  • CARD
  • ACH
  • OTHERS