Create Debit Memo
curl --request POST \
--url https://api.meetcampfire.com/coa/api/v1/debit-memo \
--header 'Content-Type: application/json' \
--data '
{
"lines": [
{
"account": 123,
"debit_memo": 123,
"description": "<string>",
"amount": 0,
"tax": 0,
"tax_description": "<string>",
"tag_ids": [
0
],
"tag_group_ids": [
0
],
"tax_rate": 123,
"department": 123
}
],
"debit_memo_date": "2023-12-25",
"entity": 123,
"debit_memo_number": "<string>",
"migrated_journal_id": 123,
"chat_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ref_number": "<string>",
"applied_date": "2023-12-25",
"message_on_debit_memo": "<string>",
"source_id": "<string>",
"source": "<string>",
"currency": "<string>",
"exchange_rate": 0,
"exchange_rate_book": 0,
"total_amount": 0,
"amount_used": 0,
"chat_id": -1,
"vendor": 123,
"debit_account": 123,
"journal_entry": 123,
"voided_journal_entry": 123
}
'import requests
url = "https://api.meetcampfire.com/coa/api/v1/debit-memo"
payload = {
"lines": [
{
"account": 123,
"debit_memo": 123,
"description": "<string>",
"amount": 0,
"tax": 0,
"tax_description": "<string>",
"tag_ids": [0],
"tag_group_ids": [0],
"tax_rate": 123,
"department": 123
}
],
"debit_memo_date": "2023-12-25",
"entity": 123,
"debit_memo_number": "<string>",
"migrated_journal_id": 123,
"chat_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ref_number": "<string>",
"applied_date": "2023-12-25",
"message_on_debit_memo": "<string>",
"source_id": "<string>",
"source": "<string>",
"currency": "<string>",
"exchange_rate": 0,
"exchange_rate_book": 0,
"total_amount": 0,
"amount_used": 0,
"chat_id": -1,
"vendor": 123,
"debit_account": 123,
"journal_entry": 123,
"voided_journal_entry": 123
}
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({
lines: [
{
account: 123,
debit_memo: 123,
description: '<string>',
amount: 0,
tax: 0,
tax_description: '<string>',
tag_ids: [0],
tag_group_ids: [0],
tax_rate: 123,
department: 123
}
],
debit_memo_date: '2023-12-25',
entity: 123,
debit_memo_number: '<string>',
migrated_journal_id: 123,
chat_uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
ref_number: '<string>',
applied_date: '2023-12-25',
message_on_debit_memo: '<string>',
source_id: '<string>',
source: '<string>',
currency: '<string>',
exchange_rate: 0,
exchange_rate_book: 0,
total_amount: 0,
amount_used: 0,
chat_id: -1,
vendor: 123,
debit_account: 123,
journal_entry: 123,
voided_journal_entry: 123
})
};
fetch('https://api.meetcampfire.com/coa/api/v1/debit-memo', 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/v1/debit-memo",
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([
'lines' => [
[
'account' => 123,
'debit_memo' => 123,
'description' => '<string>',
'amount' => 0,
'tax' => 0,
'tax_description' => '<string>',
'tag_ids' => [
0
],
'tag_group_ids' => [
0
],
'tax_rate' => 123,
'department' => 123
]
],
'debit_memo_date' => '2023-12-25',
'entity' => 123,
'debit_memo_number' => '<string>',
'migrated_journal_id' => 123,
'chat_uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'ref_number' => '<string>',
'applied_date' => '2023-12-25',
'message_on_debit_memo' => '<string>',
'source_id' => '<string>',
'source' => '<string>',
'currency' => '<string>',
'exchange_rate' => 0,
'exchange_rate_book' => 0,
'total_amount' => 0,
'amount_used' => 0,
'chat_id' => -1,
'vendor' => 123,
'debit_account' => 123,
'journal_entry' => 123,
'voided_journal_entry' => 123
]),
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/v1/debit-memo"
payload := strings.NewReader("{\n \"lines\": [\n {\n \"account\": 123,\n \"debit_memo\": 123,\n \"description\": \"<string>\",\n \"amount\": 0,\n \"tax\": 0,\n \"tax_description\": \"<string>\",\n \"tag_ids\": [\n 0\n ],\n \"tag_group_ids\": [\n 0\n ],\n \"tax_rate\": 123,\n \"department\": 123\n }\n ],\n \"debit_memo_date\": \"2023-12-25\",\n \"entity\": 123,\n \"debit_memo_number\": \"<string>\",\n \"migrated_journal_id\": 123,\n \"chat_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ref_number\": \"<string>\",\n \"applied_date\": \"2023-12-25\",\n \"message_on_debit_memo\": \"<string>\",\n \"source_id\": \"<string>\",\n \"source\": \"<string>\",\n \"currency\": \"<string>\",\n \"exchange_rate\": 0,\n \"exchange_rate_book\": 0,\n \"total_amount\": 0,\n \"amount_used\": 0,\n \"chat_id\": -1,\n \"vendor\": 123,\n \"debit_account\": 123,\n \"journal_entry\": 123,\n \"voided_journal_entry\": 123\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/v1/debit-memo")
.header("Content-Type", "application/json")
.body("{\n \"lines\": [\n {\n \"account\": 123,\n \"debit_memo\": 123,\n \"description\": \"<string>\",\n \"amount\": 0,\n \"tax\": 0,\n \"tax_description\": \"<string>\",\n \"tag_ids\": [\n 0\n ],\n \"tag_group_ids\": [\n 0\n ],\n \"tax_rate\": 123,\n \"department\": 123\n }\n ],\n \"debit_memo_date\": \"2023-12-25\",\n \"entity\": 123,\n \"debit_memo_number\": \"<string>\",\n \"migrated_journal_id\": 123,\n \"chat_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ref_number\": \"<string>\",\n \"applied_date\": \"2023-12-25\",\n \"message_on_debit_memo\": \"<string>\",\n \"source_id\": \"<string>\",\n \"source\": \"<string>\",\n \"currency\": \"<string>\",\n \"exchange_rate\": 0,\n \"exchange_rate_book\": 0,\n \"total_amount\": 0,\n \"amount_used\": 0,\n \"chat_id\": -1,\n \"vendor\": 123,\n \"debit_account\": 123,\n \"journal_entry\": 123,\n \"voided_journal_entry\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetcampfire.com/coa/api/v1/debit-memo")
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 \"lines\": [\n {\n \"account\": 123,\n \"debit_memo\": 123,\n \"description\": \"<string>\",\n \"amount\": 0,\n \"tax\": 0,\n \"tax_description\": \"<string>\",\n \"tag_ids\": [\n 0\n ],\n \"tag_group_ids\": [\n 0\n ],\n \"tax_rate\": 123,\n \"department\": 123\n }\n ],\n \"debit_memo_date\": \"2023-12-25\",\n \"entity\": 123,\n \"debit_memo_number\": \"<string>\",\n \"migrated_journal_id\": 123,\n \"chat_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ref_number\": \"<string>\",\n \"applied_date\": \"2023-12-25\",\n \"message_on_debit_memo\": \"<string>\",\n \"source_id\": \"<string>\",\n \"source\": \"<string>\",\n \"currency\": \"<string>\",\n \"exchange_rate\": 0,\n \"exchange_rate_book\": 0,\n \"total_amount\": 0,\n \"amount_used\": 0,\n \"chat_id\": -1,\n \"vendor\": 123,\n \"debit_account\": 123,\n \"journal_entry\": 123,\n \"voided_journal_entry\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": 343,
"lines": [
{
"id": 409,
"account_number": "6500",
"account_name": "6500 - Travel Expenses",
"department_name": "Customer Support",
"tags": [
{
"id": 8344,
"group_name": "Fund",
"parent_name": null,
"parent": null,
"name": "Fund 1",
"created_at": "2025-07-15T18:40:55+0000",
"last_modified_at": "2025-07-15T18:40:55+0000",
"group": 696
}
],
"description": "Debit Memo Line",
"amount": 1000.01,
"created_at": "2025-07-25T21:50:15+0000",
"last_modified_at": "2025-07-25T21:50:15+0000",
"account": 2613,
"department": 365
}
],
"payments": [],
"total_amount": 1000.01,
"amount_used": 0,
"amount_remaining": 1000.01,
"entity_name": "Top Level",
"entity_currency": "USD",
"vendor_name": "ABC Bead Supply",
"debit_account_name": "5230 - Cloud Credits",
"attachments": [],
"debit_memo_number": "DM-0000005",
"voided_date": null,
"ref_number": null,
"debit_memo_date": "2025-07-01",
"applied_date": null,
"message_on_debit_memo": "Debit Memo Message",
"application_status": "open",
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"created_at": "2025-07-25T21:50:15+0000",
"last_modified_at": "2025-07-25T21:50:15+0000",
"customer": 2,
"entity": 54,
"vendor": 34182,
"debit_account": 41905,
"journal_entry": 7491954,
"voided_journal_entry": null
}Accounts Payable
Create Debit Memo
Creates a new accounting debit memo with line items and automatic journal entry generation.
Debit memos are used to record amounts owed to vendors or to adjust vendor account balances. This endpoint handles multi-currency transactions, departmental allocations, and automatic double-entry bookkeeping.
POST
/
coa
/
api
/
v1
/
debit-memo
Create Debit Memo
curl --request POST \
--url https://api.meetcampfire.com/coa/api/v1/debit-memo \
--header 'Content-Type: application/json' \
--data '
{
"lines": [
{
"account": 123,
"debit_memo": 123,
"description": "<string>",
"amount": 0,
"tax": 0,
"tax_description": "<string>",
"tag_ids": [
0
],
"tag_group_ids": [
0
],
"tax_rate": 123,
"department": 123
}
],
"debit_memo_date": "2023-12-25",
"entity": 123,
"debit_memo_number": "<string>",
"migrated_journal_id": 123,
"chat_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ref_number": "<string>",
"applied_date": "2023-12-25",
"message_on_debit_memo": "<string>",
"source_id": "<string>",
"source": "<string>",
"currency": "<string>",
"exchange_rate": 0,
"exchange_rate_book": 0,
"total_amount": 0,
"amount_used": 0,
"chat_id": -1,
"vendor": 123,
"debit_account": 123,
"journal_entry": 123,
"voided_journal_entry": 123
}
'import requests
url = "https://api.meetcampfire.com/coa/api/v1/debit-memo"
payload = {
"lines": [
{
"account": 123,
"debit_memo": 123,
"description": "<string>",
"amount": 0,
"tax": 0,
"tax_description": "<string>",
"tag_ids": [0],
"tag_group_ids": [0],
"tax_rate": 123,
"department": 123
}
],
"debit_memo_date": "2023-12-25",
"entity": 123,
"debit_memo_number": "<string>",
"migrated_journal_id": 123,
"chat_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ref_number": "<string>",
"applied_date": "2023-12-25",
"message_on_debit_memo": "<string>",
"source_id": "<string>",
"source": "<string>",
"currency": "<string>",
"exchange_rate": 0,
"exchange_rate_book": 0,
"total_amount": 0,
"amount_used": 0,
"chat_id": -1,
"vendor": 123,
"debit_account": 123,
"journal_entry": 123,
"voided_journal_entry": 123
}
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({
lines: [
{
account: 123,
debit_memo: 123,
description: '<string>',
amount: 0,
tax: 0,
tax_description: '<string>',
tag_ids: [0],
tag_group_ids: [0],
tax_rate: 123,
department: 123
}
],
debit_memo_date: '2023-12-25',
entity: 123,
debit_memo_number: '<string>',
migrated_journal_id: 123,
chat_uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
ref_number: '<string>',
applied_date: '2023-12-25',
message_on_debit_memo: '<string>',
source_id: '<string>',
source: '<string>',
currency: '<string>',
exchange_rate: 0,
exchange_rate_book: 0,
total_amount: 0,
amount_used: 0,
chat_id: -1,
vendor: 123,
debit_account: 123,
journal_entry: 123,
voided_journal_entry: 123
})
};
fetch('https://api.meetcampfire.com/coa/api/v1/debit-memo', 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/v1/debit-memo",
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([
'lines' => [
[
'account' => 123,
'debit_memo' => 123,
'description' => '<string>',
'amount' => 0,
'tax' => 0,
'tax_description' => '<string>',
'tag_ids' => [
0
],
'tag_group_ids' => [
0
],
'tax_rate' => 123,
'department' => 123
]
],
'debit_memo_date' => '2023-12-25',
'entity' => 123,
'debit_memo_number' => '<string>',
'migrated_journal_id' => 123,
'chat_uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'ref_number' => '<string>',
'applied_date' => '2023-12-25',
'message_on_debit_memo' => '<string>',
'source_id' => '<string>',
'source' => '<string>',
'currency' => '<string>',
'exchange_rate' => 0,
'exchange_rate_book' => 0,
'total_amount' => 0,
'amount_used' => 0,
'chat_id' => -1,
'vendor' => 123,
'debit_account' => 123,
'journal_entry' => 123,
'voided_journal_entry' => 123
]),
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/v1/debit-memo"
payload := strings.NewReader("{\n \"lines\": [\n {\n \"account\": 123,\n \"debit_memo\": 123,\n \"description\": \"<string>\",\n \"amount\": 0,\n \"tax\": 0,\n \"tax_description\": \"<string>\",\n \"tag_ids\": [\n 0\n ],\n \"tag_group_ids\": [\n 0\n ],\n \"tax_rate\": 123,\n \"department\": 123\n }\n ],\n \"debit_memo_date\": \"2023-12-25\",\n \"entity\": 123,\n \"debit_memo_number\": \"<string>\",\n \"migrated_journal_id\": 123,\n \"chat_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ref_number\": \"<string>\",\n \"applied_date\": \"2023-12-25\",\n \"message_on_debit_memo\": \"<string>\",\n \"source_id\": \"<string>\",\n \"source\": \"<string>\",\n \"currency\": \"<string>\",\n \"exchange_rate\": 0,\n \"exchange_rate_book\": 0,\n \"total_amount\": 0,\n \"amount_used\": 0,\n \"chat_id\": -1,\n \"vendor\": 123,\n \"debit_account\": 123,\n \"journal_entry\": 123,\n \"voided_journal_entry\": 123\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/v1/debit-memo")
.header("Content-Type", "application/json")
.body("{\n \"lines\": [\n {\n \"account\": 123,\n \"debit_memo\": 123,\n \"description\": \"<string>\",\n \"amount\": 0,\n \"tax\": 0,\n \"tax_description\": \"<string>\",\n \"tag_ids\": [\n 0\n ],\n \"tag_group_ids\": [\n 0\n ],\n \"tax_rate\": 123,\n \"department\": 123\n }\n ],\n \"debit_memo_date\": \"2023-12-25\",\n \"entity\": 123,\n \"debit_memo_number\": \"<string>\",\n \"migrated_journal_id\": 123,\n \"chat_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ref_number\": \"<string>\",\n \"applied_date\": \"2023-12-25\",\n \"message_on_debit_memo\": \"<string>\",\n \"source_id\": \"<string>\",\n \"source\": \"<string>\",\n \"currency\": \"<string>\",\n \"exchange_rate\": 0,\n \"exchange_rate_book\": 0,\n \"total_amount\": 0,\n \"amount_used\": 0,\n \"chat_id\": -1,\n \"vendor\": 123,\n \"debit_account\": 123,\n \"journal_entry\": 123,\n \"voided_journal_entry\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetcampfire.com/coa/api/v1/debit-memo")
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 \"lines\": [\n {\n \"account\": 123,\n \"debit_memo\": 123,\n \"description\": \"<string>\",\n \"amount\": 0,\n \"tax\": 0,\n \"tax_description\": \"<string>\",\n \"tag_ids\": [\n 0\n ],\n \"tag_group_ids\": [\n 0\n ],\n \"tax_rate\": 123,\n \"department\": 123\n }\n ],\n \"debit_memo_date\": \"2023-12-25\",\n \"entity\": 123,\n \"debit_memo_number\": \"<string>\",\n \"migrated_journal_id\": 123,\n \"chat_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ref_number\": \"<string>\",\n \"applied_date\": \"2023-12-25\",\n \"message_on_debit_memo\": \"<string>\",\n \"source_id\": \"<string>\",\n \"source\": \"<string>\",\n \"currency\": \"<string>\",\n \"exchange_rate\": 0,\n \"exchange_rate_book\": 0,\n \"total_amount\": 0,\n \"amount_used\": 0,\n \"chat_id\": -1,\n \"vendor\": 123,\n \"debit_account\": 123,\n \"journal_entry\": 123,\n \"voided_journal_entry\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": 343,
"lines": [
{
"id": 409,
"account_number": "6500",
"account_name": "6500 - Travel Expenses",
"department_name": "Customer Support",
"tags": [
{
"id": 8344,
"group_name": "Fund",
"parent_name": null,
"parent": null,
"name": "Fund 1",
"created_at": "2025-07-15T18:40:55+0000",
"last_modified_at": "2025-07-15T18:40:55+0000",
"group": 696
}
],
"description": "Debit Memo Line",
"amount": 1000.01,
"created_at": "2025-07-25T21:50:15+0000",
"last_modified_at": "2025-07-25T21:50:15+0000",
"account": 2613,
"department": 365
}
],
"payments": [],
"total_amount": 1000.01,
"amount_used": 0,
"amount_remaining": 1000.01,
"entity_name": "Top Level",
"entity_currency": "USD",
"vendor_name": "ABC Bead Supply",
"debit_account_name": "5230 - Cloud Credits",
"attachments": [],
"debit_memo_number": "DM-0000005",
"voided_date": null,
"ref_number": null,
"debit_memo_date": "2025-07-01",
"applied_date": null,
"message_on_debit_memo": "Debit Memo Message",
"application_status": "open",
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"created_at": "2025-07-25T21:50:15+0000",
"last_modified_at": "2025-07-25T21:50:15+0000",
"customer": 2,
"entity": 54,
"vendor": 34182,
"debit_account": 41905,
"journal_entry": 7491954,
"voided_journal_entry": null
}Body
application/jsonapplication/x-www-form-urlencodedmultipart/form-data
Show child attributes
Show child attributes
Maximum string length:
120Maximum string length:
120Maximum string length:
120open- Openpartially_used- Partially Usedused- Usedvoided- Voided
Available options:
open, partially_used, used, voided Maximum string length:
3Required range:
-100000000000000 < x < 100000000000000Required range:
-100000000000000 < x < 100000000000000Sum of all line item amounts
Required range:
-1000000000000000000 < x < 1000000000000000000Sum of all non-voided payment amounts
Required range:
-1000000000000000000 < x < 1000000000000000000Required range:
-2147483648 <= x <= 2147483647inclusive- Inclusiveexclusive- Exclusive
Available options:
inclusive, exclusive Response
201 - application/json
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Calculate amount remaining from database fields
Combines account number and name in the format "number - name"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Maximum string length:
120Maximum string length:
120Maximum string length:
120open- Openpartially_used- Partially Usedused- Usedvoided- Voided
Available options:
open, partially_used, used, voided Maximum string length:
3Required range:
-100000000000000 < x < 100000000000000Required range:
-100000000000000 < x < 100000000000000Sum of all line item amounts
Required range:
-1000000000000000000 < x < 1000000000000000000Sum of all non-voided payment amounts
Required range:
-1000000000000000000 < x < 1000000000000000000Required range:
-2147483648 <= x <= 2147483647inclusive- Inclusiveexclusive- Exclusive
Available options:
inclusive, exclusive