Skip to main content
Glama

Set accounting settings

well_upsert_accounting_settings
Destructive

Set the workspace's accounting settings: fiscal year start month, first fiscal year start date, country, base currency, accounting framework, chart-of-accounts confirmation, the next invoice number, the incorporation date, the tax ID (value and type together), the tax profile (VAT regime, VAT filing frequency, corporate tax regime), and what the company usually bills (default_operation_nature: goods, services or mixed).

Provide only the fields you are changing; omitted fields are left untouched. An empty call (no fields) is refused. tax_id_value and tax_id_type must be provided together.

Only a workspace owner or admin may set the accounting settings. A caller without that role is refused, not silently ignored.

Changing the fiscal year start month moves the whole fiscal calendar, so it is REFUSED when a period is locked or a close is in progress — the tool surfaces that refusal rather than forcing it. When the change is allowed, it soft-deletes the workspace's regenerable DRAFT journal entries so they re-mint on the new coordinates; VALIDATED and LOCKED entries are never touched.

These are accounting-critical values. Confirm each one with the user before calling and never guess them — do not infer a country, currency, framework, start month, tax ID, tax profile value or operation nature the user did not state. The legal form does not decide the VAT regime or the filing frequency: ask.

The tax ID here updates the workspace's anchored company and its settings mirror together, so the two never drift. To set WHICH company is anchored, use well_set_own_company; to set that company's tax ID, use this tool.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countryNoISO 3166-1 alpha-2 country code.
vat_regimeNoHow the company charges VAT: franchise (VAT-exempt small business, no VAT return), simplified (réel simplifié), or normal (réel normal). Null to clear it.
tax_id_typeNoThe tax id's type (SIREN, VAT, EIN, …). Provide it together with tax_id_value.
tax_id_valueNoThe company's tax id value. Provide it together with tax_id_type; one without the other is refused.
workspace_idNoTarget workspace. Omit when the token authorizes one workspace. Required when it authorizes several — a write lands in exactly one workspace and this call would not say which.
base_currencyNoISO 4217 currency code.
coa_confirmedNoWhether the chart of accounts has been confirmed.
conversation_idNoThe conversation id returned by the previous Well result, in its meta under well/conversation_id, in its structuredContent, or in its JSON text block. Pass it back on every call in the same conversation, including a call a card makes, so the chosen workspace and the earlier answers still apply. It decides the conversation on its own: nothing the host states about the session replaces it. Omit it only on the first call of a conversation.
idempotency_keyNoOptional client-supplied key. A retried write with the same key returns the original result instead of re-applying the operation.
workspace_scopeNoRestrict this call to the family: the token's primary workspace plus the company workspaces under it that you are a member of. Unrelated authorized workspaces drop out of the read; row reads merge across the family, while a per-workspace figure still reports exactly one workspace.
incorporation_dateNoThe company's incorporation / registration date as YYYY-MM-DD, or null to clear it.
next_invoice_numberNoThe number the workspace's next invoice takes, e.g. "INV-0042". It must end in digits and come after the last invoice issued. Each issued invoice takes this number and advances it by one, so set it once. Ask the user; never guess it.
accounting_frameworkNoThe accounting framework the books follow.
corporate_tax_regimeNoWhich tax the company's profit is subject to: is (corporate income tax) or ir (the owners' personal income tax). Null to clear it.
vat_filing_frequencyNoHow often the company files its VAT return: monthly, quarterly, or annual. Null to clear it.
fiscal_year_start_monthNoCalendar month (1-12) the fiscal year starts on, or null to clear it.
default_operation_natureNoWhat the company usually bills, as the person stated it: goods, services, or mixed (both on one invoice). An invoice takes it when it is issued. Pass it only after the person answered; never guess it. Null to clear it.
first_fiscal_year_start_dateNoFirst fiscal year start date as YYYY-MM-DD, or null to clear it.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNo
countryNo
successYes
vat_regimeNo
tax_id_typeNo
tax_id_valueNo
base_currencyNo
coa_confirmedNo
conversation_idNoThe conversation this result belongs to. Pass it back as the conversation_id argument on every later Well call in the same conversation.
newly_connectedNoTools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. The connected-line rule says when to tell an entry; when it does, one line per entry, in the person's language: "<name> is connected.". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later.
incorporation_dateNo
next_invoice_numberNo
accounting_frameworkNo
conversation_id_noteNoPresent only when the server opened a fresh lane, stating that no choice recorded earlier was read.
corporate_tax_regimeNo
vat_filing_frequencyNo
conversation_id_sourceNoWhere the conversation id came from: the host's own request meta, the caller's argument, or a fresh lane the server opened.
fiscal_year_start_monthNo
default_operation_natureNo
first_fiscal_year_start_dateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / default_operation_nature
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "goods",
      +        "services",
      +        "mixed"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "What the company usually bills, as the person stated it: goods, services, or mixed (both on one invoice). An invoice takes it when it is issued. Pass it only after the person answered; never guess it. Null to clear it."
      +}
    • addedOutput schema / properties / default_operation_nature
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
  2. Changed1 schema field changed
    • changedOutput schema / properties / newly_connected / description
      Previous value: -"Tools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. Start the reply with one line per entry, in the person's language: \"<name> is connected.\". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later."New value: +"Tools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. The connected-line rule says when to tell an entry; when it does, one line per entry, in the person's language: \"<name> is connected.\". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later."
  3. Changed6 schema fields changed
    • addedInput schema / properties / corporate_tax_regime
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "is",
      +        "ir"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Which tax the company's profit is subject to: is (corporate income tax) or ir (the owners' personal income tax). Null to clear it."
      +}
    • addedInput schema / properties / vat_filing_frequency
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "monthly",
      +        "quarterly",
      +        "annual"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "How often the company files its VAT return: monthly, quarterly, or annual. Null to clear it."
      +}
    • addedInput schema / properties / vat_regime
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "franchise",
      +        "simplified",
      +        "normal"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "How the company charges VAT: franchise (VAT-exempt small business, no VAT return), simplified (réel simplifié), or normal (réel normal). Null to clear it."
      +}
    • addedOutput schema / properties / corporate_tax_regime
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / vat_filing_frequency
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / vat_regime
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / workspace_scope
      Added value: +{
      +  "description": "Restrict this call to the family: the token's primary workspace plus the company workspaces under it that you are a member of. Unrelated authorized workspaces drop out of the read; row reads merge across the family, while a per-workspace figure still reports exactly one workspace.",
      +  "enum": [
      +    "family"
      +  ],
      +  "type": "string"
      +}
  5. Changed1 schema field changed
    • addedOutput schema / properties / newly_connected
      Added value: +{
      +  "description": "Tools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. Start the reply with one line per entry, in the person's language: \"<name> is connected.\". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "name": {
      +        "type": "string"
      +      },
      +      "service_id": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "service_id"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  6. Changed2 schema fields changed
    • addedInput schema / properties / next_invoice_number
      Added value: +{
      +  "description": "The number the workspace's next invoice takes, e.g. \"INV-0042\". It must end in digits and come after the last invoice issued. Each issued invoice takes this number and advances it by one, so set it once. Ask the user; never guess it.",
      +  "maxLength": 100,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedOutput schema / properties / next_invoice_number
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
  7. Changed4 schema fields changed
    • addedInput schema / properties / conversation_id
      Added value: +{
      +  "description": "The conversation id returned by the previous Well result, in its meta under well/conversation_id, in its structuredContent, or in its JSON text block. Pass it back on every call in the same conversation, including a call a card makes, so the chosen workspace and the earlier answers still apply. It decides the conversation on its own: nothing the host states about the session replaces it. Omit it only on the first call of a conversation.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / conversation_id
      Added value: +{
      +  "description": "The conversation this result belongs to. Pass it back as the conversation_id argument on every later Well call in the same conversation.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / conversation_id_note
      Added value: +{
      +  "description": "Present only when the server opened a fresh lane, stating that no choice recorded earlier was read.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / conversation_id_source
      Added value: +{
      +  "description": "Where the conversation id came from: the host's own request meta, the caller's argument, or a fresh lane the server opened.",
      +  "enum": [
      +    "host_meta",
      +    "argument",
      +    "minted"
      +  ],
      +  "type": "string"
      +}
  8. Changed6 schema fields changed
    • addedInput schema / properties / incorporation_date
      Added value: +{
      +  "anyOf": [
      +    {
      +      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The company's incorporation / registration date as YYYY-MM-DD, or null to clear it."
      +}
    • addedInput schema / properties / tax_id_type
      Added value: +{
      +  "description": "The tax id's type (SIREN, VAT, EIN, …). Provide it together with tax_id_value.",
      +  "type": "string"
      +}
    • addedInput schema / properties / tax_id_value
      Added value: +{
      +  "description": "The company's tax id value. Provide it together with tax_id_type; one without the other is refused.",
      +  "maxLength": 50,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedOutput schema / properties / incorporation_date
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / tax_id_type
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / tax_id_value
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
  9. Changed1 schema field changed
    • changedInput schema / properties / workspace_id / description
      Previous value: -"Target workspace. Omit to use the only authorized workspace, or (for read tools) to query all authorized workspaces grouped by workspace. Required for write tools when the token authorizes more than one workspace."New value: +"Target workspace. Omit when the token authorizes one workspace. Required when it authorizes several — a write lands in exactly one workspace and this call would not say which."
  10. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources