Merge branch 'main' of https://gits.altru.id/apksel-dev/apskel-pos-backend into feature/expense

This commit is contained in:
Efril
2026-05-29 12:34:34 +07:00
26 changed files with 253 additions and 147 deletions
@@ -0,0 +1,33 @@
CREATE TABLE expenses (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
organization_id UUID NOT NULL REFERENCES organizations(id) ON DELETE CASCADE,
outlet_id UUID NOT NULL REFERENCES outlets(id) ON DELETE CASCADE,
receiver VARCHAR(255) NOT NULL,
transaction_date DATE NOT NULL,
code_number VARCHAR(50) NOT NULL,
description TEXT,
tax DECIMAL(15,2) NOT NULL DEFAULT 0,
total DECIMAL(15,2) NOT NULL DEFAULT 0,
reserved1 TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
CREATE INDEX idx_expenses_organization_id ON expenses(organization_id);
CREATE INDEX idx_expenses_outlet_id ON expenses(outlet_id);
CREATE INDEX idx_expenses_transaction_date ON expenses(transaction_date);
CREATE INDEX idx_expenses_code_number ON expenses(code_number);
CREATE INDEX idx_expenses_created_at ON expenses(created_at);
CREATE TABLE expense_items (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
expense_id UUID NOT NULL REFERENCES expenses(id) ON DELETE CASCADE,
chart_of_account_id UUID NOT NULL REFERENCES chart_of_accounts(id) ON DELETE RESTRICT,
description TEXT,
amount DECIMAL(15,2) NOT NULL DEFAULT 0,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
CREATE INDEX idx_expense_items_expense_id ON expense_items(expense_id);
CREATE INDEX idx_expense_items_chart_of_account_id ON expense_items(chart_of_account_id);