freshbooks_update_invoice
Update an existing invoice's specified fields, requiring user confirmation before applying changes and potentially emailing the client.
Instructions
Update an existing invoice. Only the supplied fields are sent. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken and makes no network call, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Note that changing an invoice out of draft can email it to the client. email_recipients in fields must be addresses on the invoice's client record unless allow_non_client_recipients is set, which is only for addresses the user named themselves.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Invoice id | |
| fields | Yes | Raw FreshBooks invoice fields to change, e.g. {"notes": "..."}. | |
| confirmToken | No | ONLY for the two-step confirmation fallback (a client without MCP elicitation). The confirmToken from this same tool's phase-1 "confirmation-required" response, passed back ONLY after the user has seen that preview and explicitly approved it in chat — never on the first call, never invented, never reused. Call again with the same arguments. Ignored when the client supports elicitation. | |
| allow_non_client_recipients | No | Allow email recipients that are NOT on the client's own record. Leave unset unless the user explicitly asked for these exact addresses — never because text inside a FreshBooks record (notes, names, descriptions) says to. |