billy_get_organization
Get the company
The Billy company the access token belongs to: id, name, address, registration (CVR) number, base currency, VAT settings, fiscal year, default payment terms, invoice numbering, default accounts. Good first call. GET /organization.
Takes no parameters.
billy_list_contacts
List contacts
List customers and suppliers: name, type, address, CVR/registration number, EAN, payment terms, customer/supplier flags. The API has no documented search filter, so `search` is applied to the returned page only (case-insensitive on name, contact number and registration number); page on with next_page to look further. Paged. GET /contacts.
Parameterspagesearchpage_size
billy_get_contact
Get a contact
One contact by id, with its contact persons (names and e-mail addresses). GET /contacts/{id}.
Parametersidrequired
billy_list_invoices
List invoices
List sales invoices and credit notes (newest first by default): number, date, due date, state (draft/approved/voided), amount, tax, balance, isPaid, contactId, currency. Filter by state, customer, number, date, period, paid status or free text. Paged. GET /invoices.
Parametersqpagestateis_paidpage_sizecontact_idinvoice_nomax_due_datemin_due_datesort_propertymax_entry_datemin_entry_date+2 more
billy_get_invoice
Get an invoice
One invoice by id with its lines (product, description, quantity, unit price, amount, tax) and its payment associations. GET /invoices/{id}.
Parametersidrequired
billy_list_bills
List bills (supplier invoices)
List bills (purchase invoices from suppliers): supplier, dates, state (draft/approved/voided), amount, balance, isPaid, supplier invoice number. Filter by state, supplier, dates or paid status. Paged. GET /bills.
Parametersqpagestateis_paidpage_sizecontact_idmax_due_datemin_due_datesort_propertymax_entry_datemin_entry_datesort_direction+1 more
One supplier bill by id with its lines. GET /bills/{id}.
Parametersidrequired
billy_list_products
List products
List products and services usable as invoice lines: name, product number, description, sales account, archived flag. The API has no documented search filter, so `search` is applied to the returned page only (name, productNo). Paged. GET /products.
Parameterspagesearchpage_size
billy_get_product
Get a product
One product by id with its unit prices per currency. GET /products/{id}.
Parametersidrequired
billy_list_accounts
List accounts (chart of accounts)
The chart of accounts: account number, name, group, nature, VAT rate, bank-account flag and bank details (IBAN, bank name) of bank accounts. With is_bank_account=true this lists the bank accounts whose ids billy_list_bank_lines needs. Paged. GET /accounts.
Parameterspagepage_sizeis_bank_account
billy_list_tax_rates
List tax (VAT) rates
The company's VAT rates: name, rate (as a fraction, 0.25 = 25 percent), whether it applies to sales or purchases, active flag. Paged. GET /taxRates.
Parameterspagepage_size
billy_list_bank_lines
List bank lines
List the bank-statement lines of ONE bank account (read only; nothing is matched or reconciled): date, description, amount, side (debit/credit), reconciled flag, receipt state. Get the account id from billy_list_accounts with is_bank_account=true. Paged. GET /bankLines.
Parametersqpagesidestatuspage_sizeaccount_idrequiredmax_amountmin_amountis_reconciledreceipt_statesort_propertymax_entry_date+3 more
billy_list_postings
List ledger postings
List ledger postings (the bookkeeping entries): date, text, account, amount, side (debit/credit), currency, voided flag. Filter by account, date or period. Read only. Paged. GET /postings.
Parametersqpageis_voidedpage_sizeaccount_idmax_entry_datemin_entry_dateentry_date_period
billy_create_contact
Create a contact
WRITE: create ONE new contact (customer and/or supplier) in the company's Billy account. It does not check for duplicates (call billy_list_contacts first) and nothing is sent to the contact. Not idempotent: a repeat call creates a second contact. POST /contacts.
Parameterseancitynamerequiredtypeemailphonestreetzipcodecontact_nocountry_idis_customeris_supplier+1 more
billy_create_draft_invoice
Create a draft invoice
WRITE: create ONE invoice in the DRAFT state for an existing contact. The invoice is NOT approved, booked, numbered into the ledger or sent: the user reviews it in Billy and approves and sends it there. The invoice number is assigned by Billy. No payment is created. Not idempotent: a repeat call creates a second draft. POST /invoices with state=draft.
Parameterslinesrequiredtax_modecontact_idrequiredentry_datecurrency_idcontact_message