b0890c7c79
* feat: add "book directly" functionality for invoice inbox items - Extend JournalEntrySourceTypeSchema to include 'inbox_item'. - Introduce BookInboxItemDirectlySchema for direct journal entry creation. - Update InvoiceInboxItem type to include matched_transaction_id and created_journal_entry_id. - Implement BookDirectlyDialog component for user interaction. - Create API route for booking directly from inbox items with appropriate validations. - Add SQL migration to support new journal entry references in the invoice inbox items table. - Implement tests for the new booking functionality and ensure proper error handling. * fix(invoice-inbox): update status handling for resolved inbox items * feat: enforce unique journal entry constraint for invoice inbox items
18 lines
799 B
SQL
18 lines
799 B
SQL
-- Invoice inbox: support "book directly" flow for kontantmetoden users.
|
|
--
|
|
-- Cash-method users (and accrual users dealing with personal expenses,
|
|
-- cash receipts, etc.) need to be able to turn an inbox item directly
|
|
-- into a manual journal entry without going through a supplier invoice.
|
|
-- This column gives the inbox the third terminal status, symmetric with
|
|
-- `created_supplier_invoice_id` and `matched_transaction_id`.
|
|
|
|
ALTER TABLE public.invoice_inbox_items
|
|
ADD COLUMN IF NOT EXISTS created_journal_entry_id uuid
|
|
REFERENCES public.journal_entries(id) ON DELETE SET NULL;
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_inbox_items_created_journal_entry
|
|
ON public.invoice_inbox_items(company_id, created_journal_entry_id)
|
|
WHERE created_journal_entry_id IS NOT NULL;
|
|
|
|
NOTIFY pgrst, 'reload schema';
|