Skip to main content
POST
/
coa
/
api
/
v1
/
invoice
/
{invoice_id}
/
pay
/
Mark Invoice as Paid
curl --request POST \
  --url https://api.meetcampfire.com/coa/api/v1/invoice/{invoice_id}/pay/ \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "invoice_id": "58700",
  "transactions": [
    {
      "transaction_id": 14728800,
      "transaction_description": "Payment from Campfire Software Inc",
      "account_id": "2553",
      "account_name": "1100 - Accounts Receivable",
      "amount": 883.33
    }
  ],
  "credit_memos": [
    {
      "credit_memo_id": 4029,
      "credit_memo_number": "CM-0000007",
      "amount": 150,
      "posted_at": "2025-07-25"
    }
  ],
  "empty_transactions": []
}'
{
  "id": 123,
  "lines": [
    {
      "id": 123,
      "product_name": "<string>",
      "stripe_product_id": "<string>",
      "product_is_taxable": true,
      "anrok_item_id": "<string>",
      "service_date": "2023-12-25",
      "description": "<string>",
      "quantity": 123,
      "rate": 123,
      "currency": "<string>",
      "amount": 0,
      "tax": 0,
      "tax_description": "<string>",
      "discount": 0,
      "discount_percentage": 0,
      "discount_amount": 0,
      "created_at": "2023-11-07T05:31:56Z",
      "last_modified_at": "2023-11-07T05:31:56Z",
      "customer": 123,
      "product": 123
    }
  ],
  "payments": [
    {
      "id": 123,
      "credit_memo": "<string>",
      "payment_transaction_bank_description": "<string>",
      "payment_journal_entry_order": "<string>",
      "payment_intercompany_journal": "<string>",
      "voided_journal_entry_order": "<string>",
      "currency": "<string>",
      "amount": 0,
      "payment_date": "2023-12-25",
      "created_at": "2023-11-07T05:31:56Z",
      "voided_date": "2023-12-25",
      "source": "STRIPE",
      "last_modified_at": "2023-11-07T05:31:56Z",
      "customer": 123,
      "invoice": 123,
      "payment_journal_entry": 123,
      "payment_transaction": 123,
      "voided_journal_entry": 123
    }
  ],
  "payment_journal_entries": [
    123
  ],
  "journal_entry_intercompany": "<string>",
  "client_name": "<string>",
  "client_email": "<string>",
  "client_invoice_message": "<string>",
  "client_use_stripe_auto_bill": true,
  "status": "<string>",
  "past_due_days": 123,
  "entity_name": "<string>",
  "entity_currency": "<string>",
  "entity_invoice_message": "<string>",
  "total_amount": 0,
  "amount_paid": 0,
  "amount_due": 123,
  "contract_name": "<string>",
  "attachments": [
    {
      "id": 123,
      "customer": 123,
      "created_at": "2023-11-07T05:31:56Z",
      "created_by": 123,
      "created_by_name": "<string>",
      "created_by_email": "<string>",
      "last_modified_at": "2023-11-07T05:31:56Z",
      "name": "<string>",
      "url": "<string>",
      "s3_content_type": "<string>",
      "s3_content_length": 1073741823,
      "s3_path": "<string>",
      "object_id": 1073741823,
      "app": "<string>",
      "model": "<string>",
      "is_deleted": false,
      "deleted_at": "2023-11-07T05:31:56Z"
    }
  ],
  "invoice_number": "<string>",
  "stripe_connection_name": "<string>",
  "stripe_connection_entity": 123,
  "stripe_connection_billing_portal_enabled": true,
  "avalara_connection_name": "<string>",
  "avalara_connection_company": "<string>",
  "tax_rate_name": "<string>",
  "tax_rate_value": 0,
  "revenue_transactions": [
    123
  ],
  "item_date": "2023-12-25",
  "voided_journal_entry_order": "<string>",
  "last_modified_at": "2023-11-07T05:31:56Z",
  "is_deleted": false,
  "deleted_at": "2023-11-07T05:31:56Z",
  "search_vector": "<string>",
  "search_text": "<string>",
  "auto_send_invoice": true,
  "auto_send_invoice_at": "2023-12-25",
  "auto_sent_at": "2023-12-25",
  "reminder_sent_dates": "<any>",
  "billing_address": "<string>",
  "shipping_address": "<string>",
  "terms": "custom",
  "ref_number": "<string>",
  "purchase_order_number": "<string>",
  "invoice_date": "2023-12-25",
  "due_date": "2023-12-25",
  "shipping_date": "2023-12-25",
  "paid_date": "2023-12-25",
  "uncollectible_date": "2023-12-25",
  "sent_date": "2023-12-25",
  "period_start": "2023-12-25",
  "period_end": "2023-12-25",
  "location_of_sale": "<string>",
  "message_on_invoice": "<string>",
  "payment_status": "open",
  "warning_message": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "currency": "<string>",
  "exchange_rate": 0,
  "exchange_rate_book": 0,
  "last_sent_at": "2023-11-07T05:31:56Z",
  "integration_id": "<string>",
  "integration_context": "<any>",
  "vat_number": "<string>",
  "discount": 0,
  "use_stripe_auto_bill": true,
  "stripe_payment_link_id": "<string>",
  "stripe_payment_intent_id": "<string>",
  "stripe_invoice_id": "<string>",
  "stripe_pdf_url": "<string>",
  "stripe_payment_link": "<string>",
  "source": "<string>",
  "source_id": "<string>",
  "voided_date": "2023-12-25",
  "customer": 123,
  "entity": 123,
  "client": 123,
  "bad_debt_journal_entry": 123,
  "journal_entry": 123,
  "voided_journal_entry": 123,
  "entity_transfer_journal_entry": 123,
  "contract": 123,
  "avalara_connection": 123,
  "sphere_connection": 123,
  "anrok_connection": 123,
  "tax_rate": 123,
  "stripe_connection": 123,
  "source_file": 123
}

Authorizations

Authorization
string
header
required

Token-based authentication with required prefix "Token"

Path Parameters

invoice_id
integer
required

ID of the invoice to mark as paid

Body

transactions
object[] | null
credit_memos
object[] | null
debit_memos
object[] | null
empty_transactions
object[] | null

Response

200 - application/json
id
integer
required
lines
object[]
required
payments
object[]
required
payment_journal_entries
integer[]
required
journal_entry_intercompany
string
required
client_name
string
required
client_email
string
required
client_invoice_message
string
required
client_use_stripe_auto_bill
boolean
required
status
string
required
past_due_days
integer | null
required
entity_name
string
required
entity_currency
string
required
entity_invoice_message
string
required
total_amount
number
required
Required range: -1000000000000000000 < x < 1000000000000000000
amount_paid
number
required
Required range: -1000000000000000000 < x < 1000000000000000000
amount_due
number
required
contract_name
string
required
attachments
object[]
required
stripe_connection_name
string
required
stripe_connection_entity
integer
required
stripe_connection_billing_portal_enabled
boolean
required
avalara_connection_name
string
required
avalara_connection_company
string
required
tax_rate_name
string
required
tax_rate_value
number
required
Required range: -1000000 < x < 1000000
voided_journal_entry_order
string
required
last_modified_at
string<date-time>
required
is_deleted
boolean
default:false
required
deleted_at
string<date-time> | null
required
search_vector
string | null
required
search_text
string | null
required
invoice_date
string<date>
required
due_date
string<date>
required
created_at
string<date-time>
required
customer
integer
required
entity
integer
required
invoice_number
string
revenue_transactions
integer[]
item_date
string<date> | null
auto_send_invoice
boolean | null
auto_send_invoice_at
string<date> | null
auto_sent_at
string<date> | null
reminder_sent_dates
any

Dictionary tracking when reminders were sent for each day overdue (e.g., {'5': '2024-01-15', '10': '2024-01-20'})

billing_address
string | null
shipping_address
string | null
terms
  • custom - Custom
  • net_5 - Net 5
  • net_7 - Net 7
  • net_10 - Net 10
  • net_15 - Net 15
  • net_20 - Net 20
  • net_30 - Net 30
  • net_40 - Net 40
  • net_45 - Net 45
  • net_60 - Net 60
  • net_90 - Net 90
  • net_105 - Net 105
  • net_120 - Net 120
  • due_on_receipt - Due on Receipt
Available options:
custom,
net_5,
net_7,
net_10,
net_15,
net_20,
net_30,
net_40,
net_45,
net_60,
net_90,
net_105,
net_120,
due_on_receipt
ref_number
string | null
Maximum length: 120
purchase_order_number
string | null
Maximum length: 120
shipping_date
string<date> | null
paid_date
string<date> | null
uncollectible_date
string<date> | null
sent_date
string<date> | null
period_start
string<date> | null
period_end
string<date> | null
location_of_sale
string | null
message_on_invoice
string | null
payment_status
  • open - Open
  • sent - Sent
  • partial - Partially Paid
  • paid - Paid
  • uncollectible - Uncollectible
  • voided - Voided
Available options:
open,
sent,
partial,
paid,
uncollectible,
voided
warning_message
string | null
currency
string
Maximum length: 3
exchange_rate
number | null
Required range: -100000000000000 < x < 100000000000000
exchange_rate_book
number | null
Required range: -100000000000000 < x < 100000000000000
last_sent_at
string<date-time> | null
integration_id
string | null
Maximum length: 250
integration_context
any
vat_number
string | null
Maximum length: 250
discount
number | null

Discount amount for the invoice

Required range: -1000000000000000000 < x < 1000000000000000000
use_stripe_auto_bill
boolean | null
Maximum length: 500
stripe_payment_intent_id
string | null
Maximum length: 500
stripe_invoice_id
string | null
Maximum length: 500
stripe_pdf_url
string | null
Maximum length: 500
Maximum length: 500
source
string | null
Maximum length: 250
source_id
string | null
voided_date
string<date> | null
client
integer | null
bad_debt_journal_entry
integer | null
journal_entry
integer | null
voided_journal_entry
integer | null
entity_transfer_journal_entry
integer | null
contract
integer | null
avalara_connection
integer | null
sphere_connection
integer | null
anrok_connection
integer | null
tax_rate
integer | null
stripe_connection
integer | null
source_file
integer | null
I