CREATE TABLE `internal_transfers` (
  `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
  `reference` text NOT NULL UNIQUE,
  `from_company_id` text NOT NULL REFERENCES `companies`(`id`),
  `to_company_id` text NOT NULL REFERENCES `companies`(`id`),
  `outgoing_flow_id` integer NOT NULL REFERENCES `cash_flows`(`id`),
  `incoming_flow_id` integer NOT NULL REFERENCES `cash_flows`(`id`),
  `amount` real NOT NULL,
  `transfer_date` text NOT NULL,
  `status` text NOT NULL DEFAULT 'pending',
  `requested_by` text NOT NULL,
  `created_at` text NOT NULL
);
--> statement-breakpoint
CREATE INDEX `idx_internal_transfers_companies_status` ON `internal_transfers` (`from_company_id`,`to_company_id`,`status`);
--> statement-breakpoint
PRAGMA optimize;
