View as Markdown
Harvest icon

Harvest ACTION

Create Invoice

Create a new free-form invoice for a client. Provide Line Items as a JSON array to itemize the invoice. Example: call with clientId set to InGen Corp's client ID, subject="Consulting Services", lineItems=[{"kind":"Service","description":"Genetics consulting","unit_price":2000,"quantity":1}]. See the documentation.
  • Action
  • Writes data
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Harvest account once, then configure and run Create Invoice from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "harvest-create-invoice",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    harvest: { authProvisionId: "apn_xxxxxxx" },
    accountId: "Account ID",
    clientId: "Client ID",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Create Invoice inputs
Property Type Description
accountId Account ID string
Your Harvest account ID, e.g. 1234567. Run List Account ID Options to find it.
Required
clientId Client ID string
Free-form client ID, e.g. 5735776. Run List Clients first to find valid IDs.
Required
subject Subject string
The invoice subject. Run Get Invoice to see the current subject.
Optional
number Number string
The invoice number, e.g. 1000. Defaults to the next sequential number if omitted.
Optional
purchaseOrder Purchase Order string
The purchase order number, e.g. PO-1234. Run Get Invoice to see the current value.
Optional
tax Tax string
First tax rate percentage, decimal, e.g. 5.5 for 5.5%. Run Get Invoice to see the current rate.
Optional
discount Discount string
Discount percentage, decimal, e.g. 10 for 10%. Run Get Invoice to see the current discount.
Optional
notes Notes string
Notes about the invoice. Run Get Invoice to see any existing notes.
Optional
currency Currency string
The currency code, e.g. USD.
Optional
issueDate Issue Date string
Issue date, YYYY-MM-DD, e.g. 2026-09-01. Run Get Invoice to see the current issue date.
Optional
dueDate Due Date string
Due date, YYYY-MM-DD, e.g. 2026-09-30. Run Get Invoice to see the current due date.
Optional
lineItems Line Items string
JSON array of line item objects. Example: [{"kind":"Service","description":"Consulting","unit_price":100,"quantity":5}]. Each item requires kind and unit_price.
Optional

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
harvest-create-invoice
Version
0.0.1
App
Harvest
Authentication
OAuth
Read-only
No
Destructive
No
Open world
Yes