Add coa purchase and vendors
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
CREATE TABLE accounts (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
organization_id UUID NOT NULL REFERENCES organizations(id) ON DELETE CASCADE,
|
||||
outlet_id UUID REFERENCES outlets(id) ON DELETE CASCADE,
|
||||
chart_of_account_id UUID NOT NULL REFERENCES chart_of_accounts(id) ON DELETE RESTRICT,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
number VARCHAR(50) NOT NULL,
|
||||
account_type VARCHAR(20) NOT NULL CHECK (account_type IN ('cash', 'wallet', 'bank', 'credit', 'debit', 'asset', 'liability', 'equity', 'revenue', 'expense')),
|
||||
opening_balance DECIMAL(15,2) DEFAULT 0.00,
|
||||
current_balance DECIMAL(15,2) DEFAULT 0.00,
|
||||
description TEXT,
|
||||
is_active BOOLEAN DEFAULT true,
|
||||
is_system BOOLEAN DEFAULT false,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
UNIQUE(organization_id, outlet_id, number),
|
||||
UNIQUE(organization_id, number) -- For organization-level accounts
|
||||
);
|
||||
|
||||
CREATE INDEX idx_accounts_organization_id ON accounts(organization_id);
|
||||
CREATE INDEX idx_accounts_outlet_id ON accounts(outlet_id);
|
||||
CREATE INDEX idx_accounts_chart_of_account_id ON accounts(chart_of_account_id);
|
||||
CREATE INDEX idx_accounts_number ON accounts(number);
|
||||
CREATE INDEX idx_accounts_account_type ON accounts(account_type);
|
||||
CREATE INDEX idx_accounts_is_active ON accounts(is_active);
|
||||
CREATE INDEX idx_accounts_is_system ON accounts(is_system);
|
||||
Reference in New Issue
Block a user