Skip to main content
POST
/
clients
/
{client_id}
/
invoices
Generate an invoice
curl --request POST \
  --url https://{your-workspace}.neetoinvoice.com/api/external/v1/clients/{client_id}/invoices \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <x-api-key>' \
  --data '
{
  "email": "[email protected]",
  "number": "INV-EXT-001",
  "total": 500,
  "invoice_time_entries": [
    {
      "time_entry_id": "128c1dfc-b29f-4fda-9a05-8a90e197b81b",
      "project_id": "f627c399-379d-4d07-a6f6-90b7c9470ac0",
      "task_id": "4d0d7ad1-91ce-44d0-abfe-6718422716dd",
      "user_id": "5a2de667-243b-4da3-b090-b698a03d98da",
      "notes": "Working on feature implementation",
      "hours": 2.5,
      "hourly_rate": 50
    }
  ],
  "issue_date": "12/25/2023",
  "due_date": "01/25/2024",
  "due_date_period": 30,
  "interval": "monthly",
  "notes": "Payment terms: Net 30 days",
  "include_hours_by_person": true,
  "include_hours_by_task": false,
  "include_time_entries": true,
  "send_automated_reminder_email": true,
  "include_payment_link": true,
  "payment_provider": "undefined",
  "display_task_name": true,
  "display_person_name": true,
  "display_date": true,
  "display_note": true,
  "display_project_name": false,
  "project_id": [
    "89d1b47d9f36af3c9ecf",
    "24e6a2fe31bb686c541a"
  ],
  "send_email": true,
  "invoice_details": {
    "subject": "Invoice INV-EXT-001 from Your Company",
    "message": "Please find attached your invoice for the services rendered.",
    "attach_pdf_invoice": "true",
    "send_me_a_copy": "false",
    "recipient_ids": [
      "128c1dfc-b29f-4fda-9a05-8a90e197b81b",
      "6be815a8-9a10-455c-95d9-b0b548664420"
    ]
  },
  "tax_details": [
    {
      "name": "GST",
      "percentage": 10,
      "notes": "Goods and Services Tax",
      "selected": true
    }
  ]
}
'
{
  "invoice": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "number": "<string>",
    "total": 123,
    "status": "<string>",
    "issue_date": "2023-12-25",
    "due_date": "2023-12-25",
    "notes": "<string>",
    "client_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z"
  }
}
Replace {your-workspace} with your workspace’s subdomain.
Learn how to find your subdomain in Identifying your subdomain.

Headers

X-Api-Key
string
default:your-api-key
required

X-Api-Key is used to authenticate requests using an API key. Provide your API key in this header to access protected endpoints. Refer to Authentication for more information.

Path Parameters

client_id
string
required

Unique ID of the client for which you want to retrieve or update details. Refer to Getting the Client ID section for detailed instructions.

Body

application/json
email
string<email>
required

Email of the person creating the invoice.

number
string
required

Invoice identifier.

Example:

"INV-EXT-001"

total
number<float>
required

Total amount of the invoice.

Example:

500

invoice_time_entries
object[]
required

Array of time entries to include in the invoice.

issue_date
string

Issue date of the invoice in MM/DD/YYYY format.

Example:

"12/25/2023"

due_date
string

Due date of the invoice in MM/DD/YYYY format.

Example:

"01/25/2024"

due_date_period
number

Due date period for the invoice in days.

Example:

30

interval
string

Billing interval for the invoice.

Example:

"monthly"

notes
string

Additional notes for the invoice.

Example:

"Payment terms: Net 30 days"

include_hours_by_person
boolean

Whether to include hours breakdown by person.

Example:

true

include_hours_by_task
boolean

Whether to include hours breakdown by task.

Example:

false

include_time_entries
boolean

Whether to include detailed time entries.

Example:

true

send_automated_reminder_email
boolean

Whether to send automated reminder emails.

Example:

true

Whether to include payment link in the invoice.

Example:

true

payment_provider
enum<string>

Payment provider for the invoice.

Available options:
stripe,
undefined
Example:

"undefined"

display_task_name
boolean

Whether to display task names in the invoice.

Example:

true

display_person_name
boolean

Whether to display person names in the invoice.

Example:

true

display_date
boolean

Whether to display dates in the invoice.

Example:

true

display_note
boolean

Whether to display notes in the invoice.

Example:

true

display_project_name
boolean

Whether to display project names in the invoice.

Example:

false

project_id
string[]

Projects on which the invoice is to be generated. Refer to Getting the Project ID section for detailed instructions.

Example:
[
"89d1b47d9f36af3c9ecf",
"24e6a2fe31bb686c541a"
]
send_email
boolean

Whether to send the invoice via email. If true, invoice_details is required.

Example:

true

invoice_details
object

Email details for sending the invoice. Required when send_email is true.

tax_details
object[]

Array of tax details for the invoice.

Response

200 - application/json

OK - Request succeeded

invoice
object