Files
accounted/supabase/migrations/20260629170100_customers_add_vat_number_validated.sql
T
7cd1a7388f fix(customers): add columns the system-migration importer needs (address_line2, default_payment_terms, vat_number_validated) (#780)
* fix(customers): add address_line2 + default_payment_terms columns

The customers table lacked address_line2 and default_payment_terms, yet the
suppliers table has both and three code paths write/read them on customers:
the arcim-migration importer, the built-in customer CSV import, and the
customer CSV export. Inserts failed with PostgREST "Could not find the
'address_line2' column of 'customers' in the schema cache", so customer
imports landed 0 rows while suppliers imported fine. Add the two columns to
match suppliers (text, integer default 30).

Signed-off-by: Jonas Hagberg <jonas@lindan.se>

* fix(customers): add missing vat_number_validated boolean column

The customers table was missing the boolean vat_number_validated flag that
types/index.ts and ~40 code sites depend on (getVatRules/getAvailableVatRates,
the customers-list validated badge, the v1 customers API select), yet no
migration ever created it — only the vat_number_validated_at timestamp exists.

It went unnoticed because normal customer creation writes the flag only when a
VIES check runs, and reads degrade to undefined when the column is absent. The
arcim-migration importer writes it unconditionally (false), so customer and
sales-invoice-stub inserts failed with PostgREST "Could not find the
'vat_number_validated' column of 'customers' in the schema cache".

Same class of gap as the address_line2/default_payment_terms columns added in
the previous commit on this branch.

Signed-off-by: Jonas Hagberg <jonas@lindan.se>

* fix(customers): retimestamp migrations to clear version collision

20260628120000 collided with 20260628120000_ef_no_owner_employee.sql
(merged to main via #797) and with #757. Renamed to unique timestamps
ordered after main's latest (20260629160000). SQL unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Signed-off-by: Jonas Hagberg <jonas@lindan.se>
Co-authored-by: Jakob Wennberg <jakob.wennberg@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 22:59:58 +02:00

13 lines
904 B
SQL

-- The `customers` table was missing the boolean `vat_number_validated` flag that
-- `types/index.ts` and ~40 code sites depend on: getVatRules/getAvailableVatRates,
-- the customers-list "validated" badge, and the v1 customers API column select.
-- It went unnoticed because normal customer creation only writes the flag when a
-- VIES check runs, and reads degrade to undefined when the column is absent. The
-- arcim-migration importer writes it unconditionally (vat_number_validated: false),
-- so customer + sales-invoice-stub inserts failed with PostgREST "Could not find
-- the 'vat_number_validated' column of 'customers' in the schema cache".
-- This flag is distinct from the existing `vat_number_validated_at` timestamp,
-- which records when the last successful VIES check happened.
alter table public.customers
add column if not exists vat_number_validated boolean not null default false;