List invoices
List the workspace’s invoices, newest issue date first. Filter by client, status, issue date range, or--overdue to see only unpaid invoices whose due date has passed. Deleted invoices
are left out. The command accepts --page and --page-size, and reports a pagination
object in the envelope. See Pagination.
Each invoice shows
total before tax, grand_total after discount and tax, amount_paid,
amount_due, and days_overdue, which is 0 when the invoice is not overdue. For fields and
response details, see the API reference.
Sample output (--json)
Create an invoice
Generate an invoice. Scalar fields are available as flags; line items, taxes, and email details are passed as a JSON file with--json-file. Flag values override the file’s top-level
keys, so you can keep a template file and vary the number and dates per run. To bill unbilled
time entries by ID, repeat --time-entry-id. --user-email is needed only when you sign in with an API key.
Dates use
YYYY-MM-DD, like every other command.
The --json-file file
The file holds the full invoice payload. An invoice needs at least one of invoice_time_entries,
invoice_services, invoice_expenses, or a fixed price project passed with --project-id.
Billing unbilled time entries:
invoice.json
invoice.json
time_entry_id values from
time-entries list.
Billing an expense. Each expense needs notes, unit_amount and recorded_on. category is the name of an expense category set up in the workspace,
and the match is case-insensitive:
invoice.json
Emailing the invoice
Pass--send-email and the invoice is emailed once it is generated. Without
invoice_details.recipient_ids, every current recipient of the client receives it. To narrow
it, put the email details in the data file. recipient_ids are the client’s recipients; find
them with clients show.
invoice.json
Taxes
Add atax_details array to the data file:
invoice.json
Output
Sample output (--json)
Send an invoice
Email a generated invoice to the client’s recipients and mark it as sent. Every current recipient of the client receives it unless you repeat--recipient-id to name some of them.
Only a generated invoice can be sent. Sending the same invoice again delivers it again.
<invoice>- The invoice number as printed on the document, its identifier, or its ID.
For fields and response details, see the API reference.
Sample output (--json)