fix(vat): complete account treatment enforcement (#1593)

* fix(vat): complete account treatment enforcement

* docs(api): refresh account endpoint skill

* fix(mcp): preserve ruta 05 compatibility

* test(vat): seed migration constraint fixtures

* docs(vat): clarify treatment precedence

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Mattsson
2026-08-15 23:45:04 +02:00
committed by GitHub
co-authored by Claude Fable 5
parent edfdbe2d2a
commit 86f0b70fdd
43 changed files with 1017 additions and 359 deletions
@@ -42,14 +42,15 @@ export const GET = withRouteContext<{ params: Promise<{ ruta: string }> }>(
const dynamicVatAccounts = await fetchDynamicVatAccounts(supabase, companyId)
// Invert the effective mapping. Fixed BAS mappings stay authoritative;
// explicit treatments add custom accounts only.
// Invert the effective mapping. Explicit account treatments replace the
// fixed BAS mapping and can move a standard account to another ruta.
const accountsForRuta = Object.entries(ACCOUNT_RUTA)
.filter(([, m]) => m.box === rutaKey)
.filter(([account, m]) =>
m.box === rutaKey && !dynamicVatAccounts.explicitAccounts.has(account)
)
.map(([acc]) => acc)
for (const [account, mapping] of dynamicVatAccounts.mappingByAccount) {
if (ACCOUNT_RUTA[account]) continue
if (mapping.box === rutaKey) accountsForRuta.push(account)
}