Feature activation: what is on, what is blocked, and why
Every capability with a live state — active, partial, needs config, needs infrastructure, or blocker — and the one action that unblocks it.
Settings → Feature activation.
One row per capability, computed live when you open the page: payments, bank feeds, tax filing, e-invoicing, mail, calendar, security, MCP, field service, warehouse, the API. Each says what it found, what blocks it, and the single action that unblocks it, with a link.
Five states. Active is working now. Partial means some of it is on and the rest is listed. Needs config means the code is here and a setting, key or connection is missing. Needs infrastructure means something outside the app is missing — a mailbox, a carrier account, an aggregator. Blocker means unsafe as configured: test payment keys on a production installation is a blocker and is never shown as active, because a customer would see a working checkout that moves no money.
Legal consequence. Bank feeds, tax filing, payment rails and e-invoicing carry a line saying what dormancy costs — a return not filed on time is penalised whether or not the software was ready — and are counted separately at the top.