business.elect_accounting_framework

Record an evidenced accounting-framework election for this business. Requires owner authority and a framework supported in its jurisdiction.

What it does

Elect the accounting framework the company reports under, validated against its country of incorporation, with a source document as evidence. Small and micro regimes must name the evidenced basis of the size conclusion; Economico records it and never computes it. A change appends a new election; history is never rewritten. Re-electing the same is no_change.

Before you send it

Requires an interactive OAuth connection; headless credentials are refused. Effective membership, application grant and token permissions still apply. Describe business.elect_accounting_framework through GET /v1/catalog/commands/{name} before acting.

The envelope may reference a registered source document of kind source_document; this is separate from any evidence required by the input.

Inputs

Put these fields inside the envelope’s input object. The outer envelope names the command, a stable idempotency_key and effective_at; request and recovery rules explain those separately. Use exact minor-unit integer strings for monetary fields. Take existing IDs from prior reads or command results; choose a new identity only where the command asks for one.

Required means required within its containing object; an optional parent can be omitted.

FieldTypeRequiredMeaning and accepted values
frameworkstringYesUS us_gaap; SG sg_frs, sg_sfrs_small_entities, sg_sfrs_i; CA ca_aspe, ca_ifrs; GB uk_frs_102, uk_frs_102_section_1a, uk_frs_105; CH ch_co. Must belong to the business’s country. Swiss GAAP FER is not supported. Choose "us_gaap", "sg_frs", "sg_sfrs_small_entities", "sg_sfrs_i", "ca_aspe", "ca_ifrs", "uk_frs_102", "uk_frs_102_section_1a", "uk_frs_105", "ch_co". Example: "us_gaap".
editionstringNoMinimum length: 1. Maximum length: 256.
sizeRegimestringNoOptional; implied by the framework (small: sg_sfrs_small_entities, uk_frs_102_section_1a; micro: uk_frs_105). Choose "small", "micro".
sizeEligibilityobjectNo
sizeEligibility.basisstringYesWhat the founder’s size conclusion rests on, e.g. ‘Companies Act 2006 s384A conditions met in FY2025 and FY2026’. Recorded, never computed. Minimum length: 1. Maximum length: 2000.
sizeEligibility.periodEndstringYesPeriod end the conclusion covers. Format: date.
reasonstringYesMinimum length: 1. Maximum length: 2000. Example: "Board resolution adopting US GAAP".

After acceptance

When the command emits events, its documented effects and receipt are recorded in the command transaction. The response returns commandId, replayed, the command-specific result below and emitted events with their IDs and CIDs. A command is not automatically a cash movement or revenue recognition: use the behavior above to determine what this command records.

Inspect result and the affected records or reports before continuing. Save returned identifiers for later calls. Fetch GET /v1/commands/{id} with commandId to recover the accepted receipt; retry the same intent with the same idempotency key if the response was lost. Some commands can succeed with events: [] and return a transient result and commandId without persisting a receipt. A lookup of that ID can return null; retain the returned result and verify the affected record. Retrying can re-evaluate the current state rather than replay a stored result. A domain no_change is a separate success outcome with no persisted receipt.

Result fields

Required means required within its containing object; an optional parent can be omitted.

FieldTypeRequiredMeaning and accepted values
frameworkstringYes
editionstringNo
sizeRegimestringNoChoose "small", "micro".
sizeEligibilityobjectNo
sizeEligibility.basisstringYesWhat the founder’s size conclusion rests on, e.g. ‘Companies Act 2006 s384A conditions met in FY2025 and FY2026’. Recorded, never computed. Minimum length: 1. Maximum length: 2000.
sizeEligibility.periodEndstringYesPeriod end the conclusion covers. Format: date.
reasonstringYes
jurisdictionstringYes
evidenceDocumentIdstringYes
evidenceDocumentCidstringYes
effectiveAtstringYes
eventIdintegerNo

All commands · Operation and errors · Reusable schemas

Keep credentials out of prompts; rehearse writes only in a disposable sandbox.

Exact request schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name": {
      "const": "business.elect_accounting_framework"
    },
    "input": {
      "type": "object",
      "required": [
        "framework",
        "reason"
      ],
      "properties": {
        "framework": {
          "enum": [
            "us_gaap",
            "sg_frs",
            "sg_sfrs_small_entities",
            "sg_sfrs_i",
            "ca_aspe",
            "ca_ifrs",
            "uk_frs_102",
            "uk_frs_102_section_1a",
            "uk_frs_105",
            "ch_co"
          ],
          "description": "US us_gaap; SG sg_frs, sg_sfrs_small_entities, sg_sfrs_i; CA ca_aspe, ca_ifrs; GB uk_frs_102, uk_frs_102_section_1a, uk_frs_105; CH ch_co. Must belong to the business's country. Swiss GAAP FER is not supported."
        },
        "edition": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "sizeRegime": {
          "enum": [
            "small",
            "micro"
          ],
          "description": "Optional; implied by the framework (small: sg_sfrs_small_entities, uk_frs_102_section_1a; micro: uk_frs_105)."
        },
        "sizeEligibility": {
          "type": "object",
          "required": [
            "basis",
            "periodEnd"
          ],
          "properties": {
            "basis": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000,
              "description": "What the founder's size conclusion rests on, e.g. 'Companies Act 2006 s384A conditions met in FY2025 and FY2026'. Recorded, never computed."
            },
            "periodEnd": {
              "type": "string",
              "format": "date",
              "description": "Period end the conclusion covers."
            }
          }
        },
        "reason": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        }
      },
      "additionalProperties": false
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "effective_at": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
    },
    "source_document_id": {
      "description": "A registered document of kind source_document that caused this command.",
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "name",
    "input",
    "idempotency_key",
    "effective_at"
  ],
  "additionalProperties": false
}

Accepted command receipt

{
  "type": "object",
  "required": [
    "commandId",
    "replayed",
    "result",
    "events"
  ],
  "properties": {
    "commandId": {
      "type": "string"
    },
    "replayed": {
      "type": "boolean"
    },
    "imported": {
      "const": true,
      "description": "The command's events are history from before the business joined Economico, recorded as an import: free of monthly events."
    },
    "result": {
      "type": "object",
      "required": [
        "framework",
        "reason",
        "jurisdiction",
        "evidenceDocumentId",
        "evidenceDocumentCid",
        "effectiveAt"
      ],
      "properties": {
        "framework": {
          "type": "string"
        },
        "edition": {
          "type": "string"
        },
        "sizeRegime": {
          "enum": [
            "small",
            "micro"
          ]
        },
        "sizeEligibility": {
          "type": "object",
          "required": [
            "basis",
            "periodEnd"
          ],
          "properties": {
            "basis": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000,
              "description": "What the founder's size conclusion rests on, e.g. 'Companies Act 2006 s384A conditions met in FY2025 and FY2026'. Recorded, never computed."
            },
            "periodEnd": {
              "type": "string",
              "format": "date",
              "description": "Period end the conclusion covers."
            }
          }
        },
        "reason": {
          "type": "string"
        },
        "jurisdiction": {
          "type": "string"
        },
        "evidenceDocumentId": {
          "type": "string"
        },
        "evidenceDocumentCid": {
          "type": "string"
        },
        "effectiveAt": {
          "type": "string"
        },
        "eventId": {
          "type": "integer"
        }
      }
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "cid": {
            "type": "string"
          }
        }
      }
    }
  }
}

Example request

{
  "name": "business.elect_accounting_framework",
  "input": {
    "framework": "us_gaap",
    "reason": "Board resolution adopting US GAAP"
  },
  "effective_at": "2026-09-01T00:00:00Z",
  "idempotency_key": "business.elect_accounting_framework-example-0"
}

Example request

{
  "name": "business.elect_accounting_framework",
  "input": {
    "framework": "uk_frs_105",
    "edition": "September 2024",
    "sizeEligibility": {
      "basis": "Companies Act 2006 s384A micro-entity conditions met in FY2025 and FY2026",
      "periodEnd": "2026-12-31"
    },
    "reason": "Directors elected the micro-entities regime"
  },
  "effective_at": "2026-09-01T00:00:00Z",
  "idempotency_key": "business.elect_accounting_framework-example-1"
}
Navigate documentation