-- KRITIS-VERIF-07: Unique constraint untuk nomorFakturPajak
--
-- Nomor faktur pajak DJP HARUS unique nasional (per UU PPN).
-- Tanpa constraint ini, user bisa input nomor yang sama untuk 2 invoice
-- berbeda — pelanggaran hukum perpajakan.
--
-- Pakai partial unique karena banyak invoice belum ada nomor faktur pajak
-- (NULL). NULL boleh duplikat — hanya nilai terisi yang harus unique.

CREATE UNIQUE INDEX IF NOT EXISTS "invoices_nomor_faktur_pajak_unique"
  ON "invoices" ("nomorFakturPajak")
  WHERE "nomorFakturPajak" IS NOT NULL;

-- Index untuk lookup performa (search by nomor faktur)
CREATE INDEX IF NOT EXISTS "invoices_nomor_faktur_pajak_idx"
  ON "invoices" ("nomorFakturPajak")
  WHERE "nomorFakturPajak" IS NOT NULL;
