curl --request POST \
--url https://api.meetcampfire.com/coa/api/journal_entry \
--header 'Content-Type: application/json' \
--data '
{
"date": "2025-07-31",
"type": "journal_entry",
"transactions": [
{
"account": "180564",
"account_name": "1000 - Cash and Cash Equivalents",
"debit_amount_native": 12345.67,
"debit_amount_book": 12345.67,
"debit_amount": 12345.67,
"bank_description": "Test Line Description"
},
{
"account": "2563",
"account_name": "1600 - Fixed Assets",
"credit_amount_native": 12345.67,
"credit_amount_book": 12345.67,
"credit_amount": 12345.67,
"bank_description": "Test Line Description",
"vendor": "34182",
"vendor_name": "ABC Bead Supply",
"department": "35",
"department_name": "Engineering",
"tags": [
{
"id": "8360",
"name": "Operational Companies",
"group": 760
}
]
}
],
"memo": "Test Journal Memo",
"reversal_date": "2025-08-01",
"entity": "54",
"entity_name": "Top Level",
"entity_currency": "USD",
"currency": "USD",
"exchange_rate_book": 1,
"exchange_rate": 1
}
'import requests
url = "https://api.meetcampfire.com/coa/api/journal_entry"
payload = {
"date": "2025-07-31",
"type": "journal_entry",
"transactions": [
{
"account": "180564",
"account_name": "1000 - Cash and Cash Equivalents",
"debit_amount_native": 12345.67,
"debit_amount_book": 12345.67,
"debit_amount": 12345.67,
"bank_description": "Test Line Description"
},
{
"account": "2563",
"account_name": "1600 - Fixed Assets",
"credit_amount_native": 12345.67,
"credit_amount_book": 12345.67,
"credit_amount": 12345.67,
"bank_description": "Test Line Description",
"vendor": "34182",
"vendor_name": "ABC Bead Supply",
"department": "35",
"department_name": "Engineering",
"tags": [
{
"id": "8360",
"name": "Operational Companies",
"group": 760
}
]
}
],
"memo": "Test Journal Memo",
"reversal_date": "2025-08-01",
"entity": "54",
"entity_name": "Top Level",
"entity_currency": "USD",
"currency": "USD",
"exchange_rate_book": 1,
"exchange_rate": 1
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
date: '2025-07-31',
type: 'journal_entry',
transactions: [
{
account: '180564',
account_name: '1000 - Cash and Cash Equivalents',
debit_amount_native: 12345.67,
debit_amount_book: 12345.67,
debit_amount: 12345.67,
bank_description: 'Test Line Description'
},
{
account: '2563',
account_name: '1600 - Fixed Assets',
credit_amount_native: 12345.67,
credit_amount_book: 12345.67,
credit_amount: 12345.67,
bank_description: 'Test Line Description',
vendor: '34182',
vendor_name: 'ABC Bead Supply',
department: '35',
department_name: 'Engineering',
tags: [{id: '8360', name: 'Operational Companies', group: 760}]
}
],
memo: 'Test Journal Memo',
reversal_date: '2025-08-01',
entity: '54',
entity_name: 'Top Level',
entity_currency: 'USD',
currency: 'USD',
exchange_rate_book: 1,
exchange_rate: 1
})
};
fetch('https://api.meetcampfire.com/coa/api/journal_entry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meetcampfire.com/coa/api/journal_entry",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'date' => '2025-07-31',
'type' => 'journal_entry',
'transactions' => [
[
'account' => '180564',
'account_name' => '1000 - Cash and Cash Equivalents',
'debit_amount_native' => 12345.67,
'debit_amount_book' => 12345.67,
'debit_amount' => 12345.67,
'bank_description' => 'Test Line Description'
],
[
'account' => '2563',
'account_name' => '1600 - Fixed Assets',
'credit_amount_native' => 12345.67,
'credit_amount_book' => 12345.67,
'credit_amount' => 12345.67,
'bank_description' => 'Test Line Description',
'vendor' => '34182',
'vendor_name' => 'ABC Bead Supply',
'department' => '35',
'department_name' => 'Engineering',
'tags' => [
[
'id' => '8360',
'name' => 'Operational Companies',
'group' => 760
]
]
]
],
'memo' => 'Test Journal Memo',
'reversal_date' => '2025-08-01',
'entity' => '54',
'entity_name' => 'Top Level',
'entity_currency' => 'USD',
'currency' => 'USD',
'exchange_rate_book' => 1,
'exchange_rate' => 1
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.meetcampfire.com/coa/api/journal_entry"
payload := strings.NewReader("{\n \"date\": \"2025-07-31\",\n \"type\": \"journal_entry\",\n \"transactions\": [\n {\n \"account\": \"180564\",\n \"account_name\": \"1000 - Cash and Cash Equivalents\",\n \"debit_amount_native\": 12345.67,\n \"debit_amount_book\": 12345.67,\n \"debit_amount\": 12345.67,\n \"bank_description\": \"Test Line Description\"\n },\n {\n \"account\": \"2563\",\n \"account_name\": \"1600 - Fixed Assets\",\n \"credit_amount_native\": 12345.67,\n \"credit_amount_book\": 12345.67,\n \"credit_amount\": 12345.67,\n \"bank_description\": \"Test Line Description\",\n \"vendor\": \"34182\",\n \"vendor_name\": \"ABC Bead Supply\",\n \"department\": \"35\",\n \"department_name\": \"Engineering\",\n \"tags\": [\n {\n \"id\": \"8360\",\n \"name\": \"Operational Companies\",\n \"group\": 760\n }\n ]\n }\n ],\n \"memo\": \"Test Journal Memo\",\n \"reversal_date\": \"2025-08-01\",\n \"entity\": \"54\",\n \"entity_name\": \"Top Level\",\n \"entity_currency\": \"USD\",\n \"currency\": \"USD\",\n \"exchange_rate_book\": 1,\n \"exchange_rate\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.meetcampfire.com/coa/api/journal_entry")
.header("Content-Type", "application/json")
.body("{\n \"date\": \"2025-07-31\",\n \"type\": \"journal_entry\",\n \"transactions\": [\n {\n \"account\": \"180564\",\n \"account_name\": \"1000 - Cash and Cash Equivalents\",\n \"debit_amount_native\": 12345.67,\n \"debit_amount_book\": 12345.67,\n \"debit_amount\": 12345.67,\n \"bank_description\": \"Test Line Description\"\n },\n {\n \"account\": \"2563\",\n \"account_name\": \"1600 - Fixed Assets\",\n \"credit_amount_native\": 12345.67,\n \"credit_amount_book\": 12345.67,\n \"credit_amount\": 12345.67,\n \"bank_description\": \"Test Line Description\",\n \"vendor\": \"34182\",\n \"vendor_name\": \"ABC Bead Supply\",\n \"department\": \"35\",\n \"department_name\": \"Engineering\",\n \"tags\": [\n {\n \"id\": \"8360\",\n \"name\": \"Operational Companies\",\n \"group\": 760\n }\n ]\n }\n ],\n \"memo\": \"Test Journal Memo\",\n \"reversal_date\": \"2025-08-01\",\n \"entity\": \"54\",\n \"entity_name\": \"Top Level\",\n \"entity_currency\": \"USD\",\n \"currency\": \"USD\",\n \"exchange_rate_book\": 1,\n \"exchange_rate\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetcampfire.com/coa/api/journal_entry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"date\": \"2025-07-31\",\n \"type\": \"journal_entry\",\n \"transactions\": [\n {\n \"account\": \"180564\",\n \"account_name\": \"1000 - Cash and Cash Equivalents\",\n \"debit_amount_native\": 12345.67,\n \"debit_amount_book\": 12345.67,\n \"debit_amount\": 12345.67,\n \"bank_description\": \"Test Line Description\"\n },\n {\n \"account\": \"2563\",\n \"account_name\": \"1600 - Fixed Assets\",\n \"credit_amount_native\": 12345.67,\n \"credit_amount_book\": 12345.67,\n \"credit_amount\": 12345.67,\n \"bank_description\": \"Test Line Description\",\n \"vendor\": \"34182\",\n \"vendor_name\": \"ABC Bead Supply\",\n \"department\": \"35\",\n \"department_name\": \"Engineering\",\n \"tags\": [\n {\n \"id\": \"8360\",\n \"name\": \"Operational Companies\",\n \"group\": 760\n }\n ]\n }\n ],\n \"memo\": \"Test Journal Memo\",\n \"reversal_date\": \"2025-08-01\",\n \"entity\": \"54\",\n \"entity_name\": \"Top Level\",\n \"entity_currency\": \"USD\",\n \"currency\": \"USD\",\n \"exchange_rate_book\": 1,\n \"exchange_rate\": 1\n}"
response = http.request(request)
puts response.read_body{
"id": 7491945,
"transactions": [
{
"id": 24429462,
"entity_name": "Top Level",
"entity_currency": "USD",
"account_name": "1000 - Cash and Cash Equivalents",
"account_number": "1000",
"tags": [],
"journal": 7491945,
"journal_order": "0004358",
"journal_memo": "Test Journal Memo",
"journal_type": "journal_entry",
"intercompany_journal": null,
"created_automatically": false,
"journal_attachments": [],
"journal_type_name": "Journal Entry",
"invoice": null,
"bill": null,
"date_month": "07",
"date_year": "2025",
"balance_after_transaction": 12345.67,
"account": 180564,
"last_modified_by_name": "API User",
"account_type": "ASSET",
"files": [],
"file_names": [],
"amount": 12345.67,
"amount_native": 12345.67,
"amount_book": 12345.67,
"transaction_id": "285b736b-5dd4-4cd3-9c46-683bd1972042",
"debit_amount": 12345.67,
"credit_amount": null,
"debit_amount_book": 12345.67,
"credit_amount_book": null,
"debit_amount_native": 12345.67,
"credit_amount_native": null,
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"posted_at": "2025-07-31",
"merchant_name": null,
"bank_description": "Test Line Description",
"note": null,
"balance_before_transaction": null,
"created_at": "2025-07-25T00:01:28+00:00",
"external_id": null,
"needs_review": false,
"last_modified_at": "2025-07-25T00:01:28+00:00",
"draft_matches": null,
"entity": 54,
"parent_bank_transaction": null,
"vendor": null,
"department": null,
"last_modified_by": 904
},
{
"id": 24429463,
"entity_name": "Top Level",
"entity_currency": "USD",
"account_name": "1600 - Fixed Assets",
"account_number": "1600",
"vendor_name": "ABC Bead Supply",
"department_name": "Engineering",
"parent_department_name": "R&D",
"parent_department": 2127,
"tags": [
{
"id": 8360,
"group_name": "Entity Type",
"parent_name": null,
"parent": null,
"name": "Operational Companies",
"created_at": "2025-07-18T15:23:56+00:00",
"last_modified_at": "2025-07-18T15:23:56+00:00",
"group": 760
}
],
"journal": 7491945,
"journal_order": "0004358",
"journal_memo": "Test Journal Memo",
"journal_type": "journal_entry",
"intercompany_journal": null,
"created_automatically": false,
"journal_attachments": [],
"journal_type_name": "Journal Entry",
"invoice": null,
"bill": null,
"date_month": "07",
"date_year": "2025",
"balance_after_transaction": -12345.67,
"account": 2563,
"last_modified_by_name": "API User",
"account_type": "ASSET",
"files": [],
"file_names": [],
"amount": 12345.67,
"amount_native": 12345.67,
"amount_book": 12345.67,
"transaction_id": "a8002c20-549e-4bc6-969e-dbc2288f45ba",
"debit_amount": null,
"credit_amount": 12345.67,
"debit_amount_book": null,
"credit_amount_book": 12345.67,
"debit_amount_native": null,
"credit_amount_native": 12345.67,
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"posted_at": "2025-07-31",
"merchant_name": null,
"bank_description": "Test Line Description",
"note": null,
"balance_before_transaction": null,
"created_at": "2025-07-25T00:01:28+00:00",
"external_id": null,
"needs_review": false,
"last_modified_at": "2025-07-25T00:01:28+00:00",
"draft_matches": null,
"entity": 54,
"parent_bank_transaction": null,
"vendor": 34182,
"department": 35,
"last_modified_by": 904
}
],
"attachments": [],
"invoice": null,
"reversals": [
{
"id": 7491946,
"order": "0004359"
}
],
"entity_name": "Top Level",
"entity_currency": "USD",
"order": "0004358",
"revenue_transactions": [],
"search_vector": "'0004358':1A '07':3C '2025':2C '31':4C",
"search_text": " 0004358",
"type": "journal_entry",
"journal_id": "5be022f1-77df-4cc7-977d-1c3d7d5828c8",
"memo": "Test Journal Memo",
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"created_automatically": false,
"date": "2025-07-31",
"ref_number": null,
"created_at": "2025-07-25T00:01:28+00:00",
"source": "manual",
"source_id": null,
"last_modified_at": "2025-07-25T00:01:28+00:00",
"recurrent_journal_entry": null,
"entity": 54,
"reversal_of": null,
"intercompany_journal": null,
"source_file": null,
"chat": null
}Create Journal Entry
Create a new journal entry with transactions. Journal entries must balance - total debits must equal total credits.
Key Features:
- Automatic currency conversion using exchange rates
- Vendor, Department and Custom Dimension assignment
- Optional reversal date for automatic reversal entries
- Validation against closed book periods
Validation Rules:
- Debits must equal credits in transaction currency (debit_native and credit_native)
- Cannot create entries before closed book dates
- Accounts must be active
- Exchange rates are auto-calculated if not provided
curl --request POST \
--url https://api.meetcampfire.com/coa/api/journal_entry \
--header 'Content-Type: application/json' \
--data '
{
"date": "2025-07-31",
"type": "journal_entry",
"transactions": [
{
"account": "180564",
"account_name": "1000 - Cash and Cash Equivalents",
"debit_amount_native": 12345.67,
"debit_amount_book": 12345.67,
"debit_amount": 12345.67,
"bank_description": "Test Line Description"
},
{
"account": "2563",
"account_name": "1600 - Fixed Assets",
"credit_amount_native": 12345.67,
"credit_amount_book": 12345.67,
"credit_amount": 12345.67,
"bank_description": "Test Line Description",
"vendor": "34182",
"vendor_name": "ABC Bead Supply",
"department": "35",
"department_name": "Engineering",
"tags": [
{
"id": "8360",
"name": "Operational Companies",
"group": 760
}
]
}
],
"memo": "Test Journal Memo",
"reversal_date": "2025-08-01",
"entity": "54",
"entity_name": "Top Level",
"entity_currency": "USD",
"currency": "USD",
"exchange_rate_book": 1,
"exchange_rate": 1
}
'import requests
url = "https://api.meetcampfire.com/coa/api/journal_entry"
payload = {
"date": "2025-07-31",
"type": "journal_entry",
"transactions": [
{
"account": "180564",
"account_name": "1000 - Cash and Cash Equivalents",
"debit_amount_native": 12345.67,
"debit_amount_book": 12345.67,
"debit_amount": 12345.67,
"bank_description": "Test Line Description"
},
{
"account": "2563",
"account_name": "1600 - Fixed Assets",
"credit_amount_native": 12345.67,
"credit_amount_book": 12345.67,
"credit_amount": 12345.67,
"bank_description": "Test Line Description",
"vendor": "34182",
"vendor_name": "ABC Bead Supply",
"department": "35",
"department_name": "Engineering",
"tags": [
{
"id": "8360",
"name": "Operational Companies",
"group": 760
}
]
}
],
"memo": "Test Journal Memo",
"reversal_date": "2025-08-01",
"entity": "54",
"entity_name": "Top Level",
"entity_currency": "USD",
"currency": "USD",
"exchange_rate_book": 1,
"exchange_rate": 1
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
date: '2025-07-31',
type: 'journal_entry',
transactions: [
{
account: '180564',
account_name: '1000 - Cash and Cash Equivalents',
debit_amount_native: 12345.67,
debit_amount_book: 12345.67,
debit_amount: 12345.67,
bank_description: 'Test Line Description'
},
{
account: '2563',
account_name: '1600 - Fixed Assets',
credit_amount_native: 12345.67,
credit_amount_book: 12345.67,
credit_amount: 12345.67,
bank_description: 'Test Line Description',
vendor: '34182',
vendor_name: 'ABC Bead Supply',
department: '35',
department_name: 'Engineering',
tags: [{id: '8360', name: 'Operational Companies', group: 760}]
}
],
memo: 'Test Journal Memo',
reversal_date: '2025-08-01',
entity: '54',
entity_name: 'Top Level',
entity_currency: 'USD',
currency: 'USD',
exchange_rate_book: 1,
exchange_rate: 1
})
};
fetch('https://api.meetcampfire.com/coa/api/journal_entry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meetcampfire.com/coa/api/journal_entry",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'date' => '2025-07-31',
'type' => 'journal_entry',
'transactions' => [
[
'account' => '180564',
'account_name' => '1000 - Cash and Cash Equivalents',
'debit_amount_native' => 12345.67,
'debit_amount_book' => 12345.67,
'debit_amount' => 12345.67,
'bank_description' => 'Test Line Description'
],
[
'account' => '2563',
'account_name' => '1600 - Fixed Assets',
'credit_amount_native' => 12345.67,
'credit_amount_book' => 12345.67,
'credit_amount' => 12345.67,
'bank_description' => 'Test Line Description',
'vendor' => '34182',
'vendor_name' => 'ABC Bead Supply',
'department' => '35',
'department_name' => 'Engineering',
'tags' => [
[
'id' => '8360',
'name' => 'Operational Companies',
'group' => 760
]
]
]
],
'memo' => 'Test Journal Memo',
'reversal_date' => '2025-08-01',
'entity' => '54',
'entity_name' => 'Top Level',
'entity_currency' => 'USD',
'currency' => 'USD',
'exchange_rate_book' => 1,
'exchange_rate' => 1
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.meetcampfire.com/coa/api/journal_entry"
payload := strings.NewReader("{\n \"date\": \"2025-07-31\",\n \"type\": \"journal_entry\",\n \"transactions\": [\n {\n \"account\": \"180564\",\n \"account_name\": \"1000 - Cash and Cash Equivalents\",\n \"debit_amount_native\": 12345.67,\n \"debit_amount_book\": 12345.67,\n \"debit_amount\": 12345.67,\n \"bank_description\": \"Test Line Description\"\n },\n {\n \"account\": \"2563\",\n \"account_name\": \"1600 - Fixed Assets\",\n \"credit_amount_native\": 12345.67,\n \"credit_amount_book\": 12345.67,\n \"credit_amount\": 12345.67,\n \"bank_description\": \"Test Line Description\",\n \"vendor\": \"34182\",\n \"vendor_name\": \"ABC Bead Supply\",\n \"department\": \"35\",\n \"department_name\": \"Engineering\",\n \"tags\": [\n {\n \"id\": \"8360\",\n \"name\": \"Operational Companies\",\n \"group\": 760\n }\n ]\n }\n ],\n \"memo\": \"Test Journal Memo\",\n \"reversal_date\": \"2025-08-01\",\n \"entity\": \"54\",\n \"entity_name\": \"Top Level\",\n \"entity_currency\": \"USD\",\n \"currency\": \"USD\",\n \"exchange_rate_book\": 1,\n \"exchange_rate\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.meetcampfire.com/coa/api/journal_entry")
.header("Content-Type", "application/json")
.body("{\n \"date\": \"2025-07-31\",\n \"type\": \"journal_entry\",\n \"transactions\": [\n {\n \"account\": \"180564\",\n \"account_name\": \"1000 - Cash and Cash Equivalents\",\n \"debit_amount_native\": 12345.67,\n \"debit_amount_book\": 12345.67,\n \"debit_amount\": 12345.67,\n \"bank_description\": \"Test Line Description\"\n },\n {\n \"account\": \"2563\",\n \"account_name\": \"1600 - Fixed Assets\",\n \"credit_amount_native\": 12345.67,\n \"credit_amount_book\": 12345.67,\n \"credit_amount\": 12345.67,\n \"bank_description\": \"Test Line Description\",\n \"vendor\": \"34182\",\n \"vendor_name\": \"ABC Bead Supply\",\n \"department\": \"35\",\n \"department_name\": \"Engineering\",\n \"tags\": [\n {\n \"id\": \"8360\",\n \"name\": \"Operational Companies\",\n \"group\": 760\n }\n ]\n }\n ],\n \"memo\": \"Test Journal Memo\",\n \"reversal_date\": \"2025-08-01\",\n \"entity\": \"54\",\n \"entity_name\": \"Top Level\",\n \"entity_currency\": \"USD\",\n \"currency\": \"USD\",\n \"exchange_rate_book\": 1,\n \"exchange_rate\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetcampfire.com/coa/api/journal_entry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"date\": \"2025-07-31\",\n \"type\": \"journal_entry\",\n \"transactions\": [\n {\n \"account\": \"180564\",\n \"account_name\": \"1000 - Cash and Cash Equivalents\",\n \"debit_amount_native\": 12345.67,\n \"debit_amount_book\": 12345.67,\n \"debit_amount\": 12345.67,\n \"bank_description\": \"Test Line Description\"\n },\n {\n \"account\": \"2563\",\n \"account_name\": \"1600 - Fixed Assets\",\n \"credit_amount_native\": 12345.67,\n \"credit_amount_book\": 12345.67,\n \"credit_amount\": 12345.67,\n \"bank_description\": \"Test Line Description\",\n \"vendor\": \"34182\",\n \"vendor_name\": \"ABC Bead Supply\",\n \"department\": \"35\",\n \"department_name\": \"Engineering\",\n \"tags\": [\n {\n \"id\": \"8360\",\n \"name\": \"Operational Companies\",\n \"group\": 760\n }\n ]\n }\n ],\n \"memo\": \"Test Journal Memo\",\n \"reversal_date\": \"2025-08-01\",\n \"entity\": \"54\",\n \"entity_name\": \"Top Level\",\n \"entity_currency\": \"USD\",\n \"currency\": \"USD\",\n \"exchange_rate_book\": 1,\n \"exchange_rate\": 1\n}"
response = http.request(request)
puts response.read_body{
"id": 7491945,
"transactions": [
{
"id": 24429462,
"entity_name": "Top Level",
"entity_currency": "USD",
"account_name": "1000 - Cash and Cash Equivalents",
"account_number": "1000",
"tags": [],
"journal": 7491945,
"journal_order": "0004358",
"journal_memo": "Test Journal Memo",
"journal_type": "journal_entry",
"intercompany_journal": null,
"created_automatically": false,
"journal_attachments": [],
"journal_type_name": "Journal Entry",
"invoice": null,
"bill": null,
"date_month": "07",
"date_year": "2025",
"balance_after_transaction": 12345.67,
"account": 180564,
"last_modified_by_name": "API User",
"account_type": "ASSET",
"files": [],
"file_names": [],
"amount": 12345.67,
"amount_native": 12345.67,
"amount_book": 12345.67,
"transaction_id": "285b736b-5dd4-4cd3-9c46-683bd1972042",
"debit_amount": 12345.67,
"credit_amount": null,
"debit_amount_book": 12345.67,
"credit_amount_book": null,
"debit_amount_native": 12345.67,
"credit_amount_native": null,
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"posted_at": "2025-07-31",
"merchant_name": null,
"bank_description": "Test Line Description",
"note": null,
"balance_before_transaction": null,
"created_at": "2025-07-25T00:01:28+00:00",
"external_id": null,
"needs_review": false,
"last_modified_at": "2025-07-25T00:01:28+00:00",
"draft_matches": null,
"entity": 54,
"parent_bank_transaction": null,
"vendor": null,
"department": null,
"last_modified_by": 904
},
{
"id": 24429463,
"entity_name": "Top Level",
"entity_currency": "USD",
"account_name": "1600 - Fixed Assets",
"account_number": "1600",
"vendor_name": "ABC Bead Supply",
"department_name": "Engineering",
"parent_department_name": "R&D",
"parent_department": 2127,
"tags": [
{
"id": 8360,
"group_name": "Entity Type",
"parent_name": null,
"parent": null,
"name": "Operational Companies",
"created_at": "2025-07-18T15:23:56+00:00",
"last_modified_at": "2025-07-18T15:23:56+00:00",
"group": 760
}
],
"journal": 7491945,
"journal_order": "0004358",
"journal_memo": "Test Journal Memo",
"journal_type": "journal_entry",
"intercompany_journal": null,
"created_automatically": false,
"journal_attachments": [],
"journal_type_name": "Journal Entry",
"invoice": null,
"bill": null,
"date_month": "07",
"date_year": "2025",
"balance_after_transaction": -12345.67,
"account": 2563,
"last_modified_by_name": "API User",
"account_type": "ASSET",
"files": [],
"file_names": [],
"amount": 12345.67,
"amount_native": 12345.67,
"amount_book": 12345.67,
"transaction_id": "a8002c20-549e-4bc6-969e-dbc2288f45ba",
"debit_amount": null,
"credit_amount": 12345.67,
"debit_amount_book": null,
"credit_amount_book": 12345.67,
"debit_amount_native": null,
"credit_amount_native": 12345.67,
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"posted_at": "2025-07-31",
"merchant_name": null,
"bank_description": "Test Line Description",
"note": null,
"balance_before_transaction": null,
"created_at": "2025-07-25T00:01:28+00:00",
"external_id": null,
"needs_review": false,
"last_modified_at": "2025-07-25T00:01:28+00:00",
"draft_matches": null,
"entity": 54,
"parent_bank_transaction": null,
"vendor": 34182,
"department": 35,
"last_modified_by": 904
}
],
"attachments": [],
"invoice": null,
"reversals": [
{
"id": 7491946,
"order": "0004359"
}
],
"entity_name": "Top Level",
"entity_currency": "USD",
"order": "0004358",
"revenue_transactions": [],
"search_vector": "'0004358':1A '07':3C '2025':2C '31':4C",
"search_text": " 0004358",
"type": "journal_entry",
"journal_id": "5be022f1-77df-4cc7-977d-1c3d7d5828c8",
"memo": "Test Journal Memo",
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"created_automatically": false,
"date": "2025-07-31",
"ref_number": null,
"created_at": "2025-07-25T00:01:28+00:00",
"source": "manual",
"source_id": null,
"last_modified_at": "2025-07-25T00:01:28+00:00",
"recurrent_journal_entry": null,
"entity": 54,
"reversal_of": null,
"intercompany_journal": null,
"source_file": null,
"chat": null
}Body
Documentation-only request schema for creating/updating a journal entry.
Show child attributes
Show child attributes
Upload run to record this row against; must be one of your own runs. Ignored on update.
Spreadsheet row this document starts on (the header is row 1), recorded with it. Ignored on update.
2 <= x <= 1048576bill- Billbill_payment- Bill Paymentbill_prepayment- Bill Prepaymentcheck- Checkcheck_cleared- Check Clearedcredit_card- Credit Cardcredit_memo- Credit Memocredit_memo_payment- Credit Memo Paymentdebit_memo- Debit Memodebit_memo_payment- Debit Memo Paymentdeposit- Depositexpense- Expenseinvoice- Invoiceintercompany_journal- Intercompany Journalinvoice_payment- Invoice Paymentjournal_entry- Journal Entrylease- Leasepayment- Paymentreceive_payment- Receive Paymentrefund- Refundrevenue_recognition- Revenue Recognitionsales_receipt- Sales Receipttransfer- Transfervendor_credit- Vendor Creditvoid_bill- Void Billvoid_bill_payment- Void Bill Paymentvoid_invoice_payment- Void Invoice Paymentvoid_credit_memo- Void Credit Memovoid_credit_memo_payment- Void Credit Memo Paymentvoid_debit_memo_payment- Void Debit Memo Paymentvoid_invoice- Void Invoiceelimination- Eliminationrevaluation- Revaluationasset_reclassification- Asset Reclassificationstatistical_allocation- Statistical Allocationallocation_true_up- Allocation True-Upasset_impairment- Asset Impairment
bill, bill_payment, bill_prepayment, check, check_cleared, credit_card, credit_memo, credit_memo_payment, debit_memo, debit_memo_payment, deposit, expense, invoice, intercompany_journal, invoice_payment, journal_entry, lease, payment, receive_payment, refund, revenue_recognition, sales_receipt, transfer, vendor_credit, void_bill, void_bill_payment, void_invoice_payment, void_credit_memo, void_credit_memo_payment, void_debit_memo_payment, void_invoice, elimination, revaluation, asset_reclassification, statistical_allocation, allocation_true_up, asset_impairment 3-100000000000000 < x < 100000000000000-100000000000000 < x < 100000000000000100250Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Derived user ID of the journal entry creator. Check created_by_source before explaining provenance.
Derived name of the journal entry creator. Check created_by_source before explaining provenance.
Provenance for created_by and created_by_name: 'draft_queue_created_by', 'chart_transaction_last_modified_by_fallback', or null.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Navan data region (US/EU) for a Navan-sourced journal entry, else None.
Mirrors ramp_use_sandbox: the frontend builds the "Open in Navan" deep
link from source_id and uses this to pick the web-app host
(US -> app.navan.com, EU -> app-fra.navan.com). Navan records carry no FK to
their connection, so the region is resolved per customer and memoized to
avoid an N+1 lookup across a transaction list.
Float id of the bill paid by a Float bill-payment journal entry, else None.
Payment journal entries store the Float payment id as source_id, which has
no page of its own in Float's web app — the frontend deep-links "View on Float"
to the paid bill instead.
Documents this journal is posted from; deleting it deletes them too.
Show child attributes
Show child attributes
bill- Billbill_payment- Bill Paymentbill_prepayment- Bill Prepaymentcheck- Checkcheck_cleared- Check Clearedcredit_card- Credit Cardcredit_memo- Credit Memocredit_memo_payment- Credit Memo Paymentdebit_memo- Debit Memodebit_memo_payment- Debit Memo Paymentdeposit- Depositexpense- Expenseinvoice- Invoiceintercompany_journal- Intercompany Journalinvoice_payment- Invoice Paymentjournal_entry- Journal Entrylease- Leasepayment- Paymentreceive_payment- Receive Paymentrefund- Refundrevenue_recognition- Revenue Recognitionsales_receipt- Sales Receipttransfer- Transfervendor_credit- Vendor Creditvoid_bill- Void Billvoid_bill_payment- Void Bill Paymentvoid_invoice_payment- Void Invoice Paymentvoid_credit_memo- Void Credit Memovoid_credit_memo_payment- Void Credit Memo Paymentvoid_debit_memo_payment- Void Debit Memo Paymentvoid_invoice- Void Invoiceelimination- Eliminationrevaluation- Revaluationasset_reclassification- Asset Reclassificationstatistical_allocation- Statistical Allocationallocation_true_up- Allocation True-Upasset_impairment- Asset Impairment
bill, bill_payment, bill_prepayment, check, check_cleared, credit_card, credit_memo, credit_memo_payment, debit_memo, debit_memo_payment, deposit, expense, invoice, intercompany_journal, invoice_payment, journal_entry, lease, payment, receive_payment, refund, revenue_recognition, sales_receipt, transfer, vendor_credit, void_bill, void_bill_payment, void_invoice_payment, void_credit_memo, void_credit_memo_payment, void_debit_memo_payment, void_invoice, elimination, revaluation, asset_reclassification, statistical_allocation, allocation_true_up, asset_impairment 3-100000000000000 < x < 100000000000000-100000000000000 < x < 100000000000000100250