Campfire – Gotchas
Modern accounting platform for startups and mid-size tech companies. Features include general ledger, invoicing, billing, revenue accounting, financial statements, and AI-powered reporting.
4 gotchas across 2 resources
These are connector-specific behaviors and limitations to be aware of when integrating.
Company Info1 gotcha
companyInfoOneCampfire does not have a dedicated company info endpoint. This operation returns the first entity (subsidiary) from the entities list. For multi-entity accounts, use the subsidiaries endpoint to get all entities.
Invoices3 gotchas
invoicesAllterms returns the payment term's display name (for example Net 30 or
Due on Receipt), and terms_id returns its identifier. Invoices with no payment
term set return null for both.
When creating or updating an invoice, set the payment term with terms_id — the
display name is read-only and is ignored on write.
invoicesAddEvery invoice line must reference a product. Set line_items[].item.id on each line —
if any line omits it, Campfire rejects the entire request with
lines[0]: Invoice line must have either a product or a bundle set and no invoice is
created. The rejection applies to the whole request, not just the offending line.
Retrieve the values to pass from GET /accounting/invoice-items and use the id it
returns. The product must already exist in Campfire; an id that does not resolve is
rejected too.
invoicesUpdateEvery invoice line must reference a product. When you send line_items, set
line_items[].item.id on each line — if any line omits it, Campfire rejects the entire
request with lines[0]: Invoice line must have either a product or a bundle set and no
change is applied.
Retrieve the values to pass from GET /accounting/invoice-items and use the id it
returns. The product must already exist in Campfire; an id that does not resolve is
rejected too.