---
name: "invoices_set_profile"
area: "invoices"
title: "Set the business details"
price: "$0.001"
method: "POST"
url: "https://api.conecto.chat/v1/tools/invoices_set_profile"
mcp_server: "https://api.conecto.chat/mcp/invoices"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/invoices/invoices_set_profile"
---

# Set the business details (`invoices_set_profile`)

Sets the business details on quotes and invoices: name, country, address, tax ID, logo, terms, tax, numbering, how to pay and legal notes.

Set the business details printed on quotes and invoices: legal name, country, address, tax ID, email, phone, logo, default currency, payment terms, tax rate, number prefixes and next numbers, payment instructions, an optional payment link and legal notes. Only the fields given change. Sending needs legal_name and country; in the EU, the UK and Switzerland an invoice also needs the address and tax ID, checked when it is sent.

Price: $0.001 a call. A call that fails costs nothing.

## Use it when

Before the first quote or invoice, or when the business's details or bank account change.

## Say this to your agent

> Put our company details on invoices: Hansen & Voss GmbH, Billbrookdeich 112 in Hamburg, VAT ID DE123456789, 14 days to pay, 19% VAT, our bank details and the commercial register at the bottom.

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `legal_name` | string | no | The business name on documents; also the email sender name. Up to 200 characters. |  |  |
| `address` | string | no | Postal address, one line per row. Up to 1,000 characters. |  |  |
| `tax_id` | string | no | VAT, GST or tax number, printed with the address. Up to 60 characters. |  |  |
| `email` | string | no | Where customers write about invoices: printed, and the Reply-To of emails. Up to 254 characters. |  |  |
| `phone` | string | no | Up to 40 characters. |  |  |
| `logo_file_id` | string | no | An image in the file store (PNG, JPEG, GIF, WebP or SVG, up to 1 MB). "" removes the logo. Up to 36 characters. |  |  |
| `currency` | string | no | Default currency of new documents, ISO 4217. Matches ^[A-Za-z]{3}$. |  |  |
| `payment_terms_days` | integer | no | Days from issue to due date. Default 14. 0 to 365. |  |  |
| `quote_valid_days` | integer | no | How long quotes stay open. Default 30. 1 to 365. |  |  |
| `invoice_prefix` | string | no | Default "INV-": invoices are INV-0001, INV-0002... Up to 20 characters, matches ^[A-Za-z0-9 ._/#-]*$. |  |  |
| `quote_prefix` | string | no | Default "Q-". Up to 20 characters, matches ^[A-Za-z0-9 ._/#-]*$. |  |  |
| `credit_note_prefix` | string | no | Default "CN-". Up to 20 characters, matches ^[A-Za-z0-9 ._/#-]*$. |  |  |
| `next_invoice_number` | integer | no | The number the next invoice gets, e.g. to carry on from another tool. Never one already used. 1 to 99,999,999. |  |  |
| `next_quote_number` | integer | no | 1 to 99,999,999. |  |  |
| `next_credit_note_number` | integer | no | 1 to 99,999,999. |  |  |
| `tax_rate` | number or string | no | Default tax percent for new lines, e.g. 19. 0 for none. Up to 24 characters. |  |  |
| `tax_label` | string | no | What the tax is called on documents: "VAT", "GST", "Sales tax". Default "Tax". Up to 30 characters. |  |  |
| `footer` | string | no | Payment instructions printed at the bottom of invoices, e.g. bank name, IBAN and BIC. Up to 2,000 characters. |  |  |
| `payment_link` | string | no | An https link where customers pay, e.g. the business's own Stripe Payment Link. "" removes it. Up to 500 characters. |  |  |
| `pay_online` | boolean | no | A Pay button on each invoice's page: Stripe Checkout on the business's own Stripe (connect it with invoices_connect_stripe); each payment is recorded and posted to the books on its own. $0.10 per invoice paid online. |  |  |
| `timezone` | string | no | IANA time zone for dates, e.g. "America/New_York". Default UTC. Up to 64 characters. |  |  |
| `paper` | string | no | Default: Letter for USD and CAD businesses, else A4. | `"a4"`, `"letter"` |  |
| `country` | string | no | ISO 3166-1 code of the country the business is established in, e.g. "DE". Needed to send: it decides what invoices must show (in the EU the VAT ID, addresses, the date of supply, why a line has no tax, VAT in the national currency) and is checked before each one goes out. Up to 2 characters. |  |  |
| `legal_notes` | string | no | Printed at the foot of every quote, invoice and credit note: the company register and managing directors, a small-business VAT note, late-payment terms the law asks for (France: penalty rate and the EUR 40 indemnity). In France and Germany the country's default wording is filled in when the country is set and none is given; "" brings it back. Up to 2,000 characters. |  |  |
| `document_language` | string | no | The language of the fixed words on quotes, invoices and credit notes (labels, dates, amounts); "" picks it by country: German in Germany and Austria, French in France, else English. The business's own text is printed as written. | `""`, `"en"`, `"de"`, `"fr"` |  |
| `tax_exemption` | string | no | Why lines with tax_rate 0 carry no tax, printed on the invoice as the law asks: exempt, zero_rated, reverse_charge (the customer accounts for the VAT), intra_eu (goods to a business in another EU country), export (goods leaving the EU), outside_scope, small_business (a business under its country's small-business VAT exemption, such as UStG §19 or art. 293 B CGI: no line may carry tax). Needed in the EU for any line without tax. Default: the profile's. | `""`, `"exempt"`, `"zero_rated"`, `"reverse_charge"`, `"intra_eu"`, `"export"`, `"outside_scope"`, `"small_business"` |  |
| `tax_exemption_note` | string | no | The wording printed for the exemption instead of the standard one, e.g. "Steuerbefreit als Kleinunternehmer nach § 19 UStG". Up to 300 characters. |  |  |
| `e_invoice` | string | no | Invoices and their credit notes as EN 16931 e-invoices (German B2B invoices must be from 2027): factur-x (Factur-X/ZUGFeRD, the XML inside the PDF/A-3) or xrechnung (XRechnung 3.0, its own XML beside the PDF), checked against the EN 16931 schema before sending. "" is the default: none, except that from 2027 an invoice from a German business to a German business above EUR 250 is a factur-x; "none" opts out (a business under the EUR 800,000 turnover allowance until 2028). Needs the customer's country. Default: the profile's. | `""`, `"factur-x"`, `"xrechnung"`, `"none"` |  |

## Example

Written for Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff.

MCP: call `invoices_set_profile` on the MCP server `https://api.conecto.chat/mcp/invoices` with these arguments:

```json
{
  "legal_name": "Hansen & Voss GmbH",
  "address": "Billbrookdeich 112\n22113 Hamburg\nGermany",
  "country": "DE",
  "tax_id": "DE123456789",
  "email": "billing@hansenvoss.example",
  "phone": "+49 40 66969 100",
  "currency": "EUR",
  "payment_terms_days": 14,
  "tax_rate": 19,
  "tax_label": "VAT",
  "timezone": "Europe/Berlin",
  "footer": "Please pay by bank transfer to Hansen & Voss GmbH\nIBAN DE89 3704 0044 0532 0130 00, BIC COBADEFFXXX",
  "legal_notes": "Hansen & Voss GmbH, Amtsgericht Hamburg HRB 123456\nManaging directors: Clara Hansen, Henrik Voss"
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/invoices_set_profile \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"legal_name": "Hansen & Voss GmbH", "address": "Billbrookdeich 112\n22113 Hamburg\nGermany", "country": "DE", "tax_id": "DE123456789", "email": "billing@hansenvoss.example", "phone": "+49 40 66969 100", "currency": "EUR", "payment_terms_days": 14, "tax_rate": 19, "tax_label": "VAT", "timezone": "Europe/Berlin", "footer": "Please pay by bank transfer to Hansen & Voss GmbH\nIBAN DE89 3704 0044 0532 0130 00, BIC COBADEFFXXX", "legal_notes": "Hansen & Voss GmbH, Amtsgericht Hamburg HRB 123456\nManaging directors: Clara Hansen, Henrik Voss"}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "invoices_set_profile",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.001",
  "balance_usd": "$19.75",
  "result": {
    "profile": {
      "legal_name": "Hansen & Voss GmbH",
      "address": "Billbrookdeich 112\n22113 Hamburg\nGermany",
      "tax_id": "DE123456789",
      "email": "billing@hansenvoss.example",
      "phone": "+49 40 66969 100",
      "logo": null,
      "currency": "EUR",
      "payment_terms_days": 14,
      "quote_valid_days": 30,
      "invoice_prefix": "INV-",
      "quote_prefix": "Q-",
      "credit_note_prefix": "CN-",
      "next_invoice_number": 1,
      "next_quote_number": 1,
      "next_credit_note_number": 1,
      "next_invoice": "INV-0001",
      "next_quote": "Q-0001",
      "next_credit_note": "CN-0001",
      "tax_rate": "19",
      "tax_label": "VAT",
      "footer": "Please pay by bank transfer to Hansen & Voss GmbH\nIBAN DE89 3704 0044 0532 0130 00, BIC COBADEFFXXX",
      "payment_link": null,
      "pay_online": false,
      "timezone": "Europe/Berlin",
      "paper": "a4",
      "country": "DE",
      "legal_notes": "Hansen & Voss GmbH, Amtsgericht Hamburg HRB 123456\nManaging directors: Clara Hansen, Henrik Voss",
      "tax_exemption": null,
      "tax_exemption_note": null,
      "e_invoice": null,
      "document_language": null,
      "documents_in": "de",
      "national_currency": "EUR",
      "national_system": null,
      "ready_to_send": true,
      "missing": []
    }
  }
}
```

`result`: The profile as saved: the business details, numbering and defaults (tax exemption, e-invoice format), whether invoices can be paid online, its national currency, the national system its domestic invoices must go through (if any), and what is still missing before documents can be sent.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `invalid_input` | 400 | A line, amount, date, currency, country, email or link is not valid, or the total comes out negative or too large. | Fix what the message names: amounts like 19.99, dates like 2026-11-20, currencies like EUR. |
| `not_found` | 404 | logo_file_id is not a file in the store. | Upload the logo with files_upload first. |
| `number_taken` | 409 | The next number asked for was used already. | Give a next number higher than the last one used, as the message says. |
| `not_connected` | 409 | pay_online needs the business's own Stripe, and it is not connected. | Connect it with invoices_connect_stripe first. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [invoices_get_profile](https://conecto.chat/tools/invoices/invoices_get_profile.md): The business details on quotes and invoices, the next numbers, and what is missing before documents can be sent. Free up to 1,000,000 reads a month.
- [invoices_connect_stripe](https://conecto.chat/tools/invoices/invoices_connect_stripe.md): Connects the business's own Stripe account with a restricted key, so invoices can be paid online; the money goes straight to the business. $0.001 a call.
- [invoices_create](https://conecto.chat/tools/invoices/invoices_create.md): Creates a draft quote or invoice: the customer, the lines, the currency and the dates. $0.01 a call.
- [invoices_update](https://conecto.chat/tools/invoices/invoices_update.md): Changes a draft quote or invoice; customer and lines replace the old ones. $0.01 a call.
- [invoices_send](https://conecto.chat/tools/invoices/invoices_send.md): Sends a draft: it gets the next number, its PDF is made, and the customer is emailed a link to view, pay or accept it. $0.10 a call.
- [invoices_get](https://conecto.chat/tools/invoices/invoices_get.md): One quote or invoice in full, by invoice_id or number: lines, totals, taxes, payments, history, its page and a fresh PDF link. Free up to 1,000,000 reads a month.
- [invoices_list](https://conecto.chat/tools/invoices/invoices_list.md): Quotes and invoices, newest first, by kind, status (also overdue, unpaid and expired), customer and issue date. Free up to 1,000,000 reads a month.
- [invoices_convert_quote](https://conecto.chat/tools/invoices/invoices_convert_quote.md): Turns an accepted quote into a draft invoice with the same customer and lines. $0.01 a call.
- [invoices_record_payment](https://conecto.chat/tools/invoices/invoices_record_payment.md): Records money received against a sent invoice, or a refund; the invoice becomes partially paid or paid. $0.01 a call.
- [invoices_record_prepayment](https://conecto.chat/tools/invoices/invoices_record_prepayment.md): Records a customer's deposit before there is an invoice, like Xero's prepayments; it waits as their credit, with its VAT owed at once. $0.01 a call.
- [invoices_use_credit](https://conecto.chat/tools/invoices/invoices_use_credit.md): Puts a customer's credit on their invoice, like Xero's allocate credit, or pays it back to them. $0.01 a call.
- [invoices_list_credits](https://conecto.chat/tools/invoices/invoices_list_credits.md): Lists customers' credits, deposits and overpayments, with what is left on each. Free up to 1,000,000 reads a month.
- [invoices_remind](https://conecto.chat/tools/invoices/invoices_remind.md): Emails the customer a reminder about a sent invoice with a balance, at most once a day. $0.02 a call.
- [invoices_remind_overdue](https://conecto.chat/tools/invoices/invoices_remind_overdue.md): Emails a reminder about every invoice at least some days overdue, the longest overdue first. $0.02 per reminder sent.
- [invoices_set_expected_date](https://conecto.chat/tools/invoices/invoices_set_expected_date.md): Notes the day a customer says they will pay an invoice, so the cash flow forecast counts the money then, even when the invoice is overdue. Free.
- [invoices_create_credit_note](https://conecto.chat/tools/invoices/invoices_create_credit_note.md): Corrects a sent invoice with a numbered credit note: all of it, some of its lines or an amount, emailed like an invoice. $0.10 a call.
- [invoices_void](https://conecto.chat/tools/invoices/invoices_void.md): Voids a document: a sent one keeps its number but can no longer be paid or accepted; a draft is discarded. $0.01 a call.
- [invoices_save_repeating](https://conecto.chat/tools/invoices/invoices_save_repeating.md): Makes an invoice again every so many weeks, months or years, drafted or sent on its day, with [Month] and [Year] filled in, like Xero's repeating invoices. $0.001 a call.
- [invoices_list_repeating](https://conecto.chat/tools/invoices/invoices_list_repeating.md): Lists the repeating invoices: who each is for, how often, the next dates, and what each made. Free up to 1,000,000 reads a month.
- [invoices_delete_repeating](https://conecto.chat/tools/invoices/invoices_delete_repeating.md): Stops a repeating invoice for good; the invoices it made stay. Free.
- [invoices_statement](https://conecto.chat/tools/invoices/invoices_statement.md): Makes a customer statement, outstanding or activity, as a PDF, and emails it when asked, like Xero's statements. $0.05 a call.
- [invoices_summary](https://conecto.chat/tools/invoices/invoices_summary.md): What customers owe, per currency: outstanding, overdue and paid this month, and the quotes still open. Free up to 1,000,000 reads a month.
- [invoices_report](https://conecto.chat/tools/invoices/invoices_report.md): Aged receivables on any day, or sales per customer for a period with the credit notes taken off. Free up to 1,000,000 reads a month.
