| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- -- Database schema for Excel-based Finnish accounting system
- -- Based on Excelpohja.xlsx structure
- -- Monthly accounting entries table
- CREATE TABLE IF NOT EXISTS accounting_entries (
- id INT AUTO_INCREMENT PRIMARY KEY,
- entry_date DATE NOT NULL,
- description TEXT NOT NULL,
- entry_type ENUM('Tulo', 'Kulu') NOT NULL,
- category VARCHAR(100),
- tax_free_amount DECIMAL(12,2) DEFAULT 0.00,
- vat_percentage DECIMAL(5,2) DEFAULT 0.00,
- vat_25_5 DECIMAL(12,2) DEFAULT 0.00,
- vat_14 DECIMAL(12,2) DEFAULT 0.00,
- vat_10 DECIMAL(12,2) DEFAULT 0.00,
- total_amount DECIMAL(12,2) DEFAULT 0.00,
- net_amount DECIMAL(12,2) DEFAULT 0.00,
- vat_amount DECIMAL(12,2) DEFAULT 0.00,
- reference_number VARCHAR(50),
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- INDEX idx_entry_date (entry_date),
- INDEX idx_entry_type (entry_type),
- INDEX idx_category (category)
- );
- -- Accounting categories configuration
- CREATE TABLE IF NOT EXISTS accounting_categories (
- id INT AUTO_INCREMENT PRIMARY KEY,
- category_code VARCHAR(20) NOT NULL,
- category_name VARCHAR(200) NOT NULL,
- category_type ENUM('Tulo', 'Kulu') NOT NULL,
- vat_percentage DECIMAL(5,2) DEFAULT 0.00,
- is_active BOOLEAN DEFAULT TRUE,
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- UNIQUE KEY unique_category_code (category_code)
- );
- -- Monthly summaries
- CREATE TABLE IF NOT EXISTS monthly_summaries (
- id INT AUTO_INCREMENT PRIMARY KEY,
- year INT NOT NULL,
- month INT NOT NULL,
- total_income DECIMAL(12,2) DEFAULT 0.00,
- total_expenses DECIMAL(12,2) DEFAULT 0.00,
- net_result DECIMAL(12,2) DEFAULT 0.00,
- vat_payable DECIMAL(12,2) DEFAULT 0.00,
- vat_deductible DECIMAL(12,2) DEFAULT 0.00,
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- UNIQUE KEY unique_year_month (year, month)
- );
- -- Expense categories (from Excel sheet structure)
- CREATE TABLE IF NOT EXISTS expense_categories (
- id INT AUTO_INCREMENT PRIMARY KEY,
- category_code VARCHAR(50) NOT NULL,
- category_name VARCHAR(200) NOT NULL,
- parent_id INT NULL,
- description TEXT,
- is_active BOOLEAN DEFAULT TRUE,
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- FOREIGN KEY (parent_id) REFERENCES expense_categories(id) ON DELETE SET NULL,
- UNIQUE KEY unique_category_code (category_code)
- );
- -- Income categories (from Excel sheet structure)
- CREATE TABLE IF NOT EXISTS income_categories (
- id INT AUTO_INCREMENT PRIMARY KEY,
- category_code VARCHAR(50) NOT NULL,
- category_name VARCHAR(200) NOT NULL,
- parent_id INT NULL,
- description TEXT,
- is_active BOOLEAN DEFAULT TRUE,
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- FOREIGN KEY (parent_id) REFERENCES income_categories(id) ON DELETE SET NULL,
- UNIQUE KEY unique_category_code (category_code)
- );
- -- Insert default expense categories
- INSERT IGNORE INTO expense_categories (category_code, category_name, description) VALUES
- ('333', 'Ostot ja ulkopuoliset palvelut', 'Purchases and external services'),
- ('334', 'Henkilöstökulut', 'Personnel costs'),
- ('335', 'Poistot, edustuskulut ja vuokrat', 'Depreciation, representation and rental costs'),
- ('336', 'Muut vähennyskelpoiset kulut', 'Other deductible expenses'),
- ('337', 'Rahoituskulut', 'Financing costs'),
- ('341', 'Varausten muutokset', 'Asset changes'),
- ('343', 'Varausten myynnit', 'Asset sales'),
- ('344', 'Matkakulut', 'Travel expenses'),
- ('344 Matka-auto', 'Matkakulut - Car', 'Car travel expenses'),
- ('344 Ajoneuvo', 'Matkakulut - Vehicle', 'Vehicle travel expenses'),
- ('344 Muu', 'Matkakulut - Other', 'Other travel expenses'),
- ('344 Kokous', 'Matkakulut - Meeting', 'Meeting travel expenses'),
- ('346', 'Muut kulut', 'Other expenses'),
- ('349', 'Poistot', 'Depreciation'),
- ('353', 'Varainsiirrot', 'Asset transfers'),
- ('354', 'Vähennyskelvottomat kulut', 'Non-deductible expenses'),
- ('365', 'Vakuutukset', 'Insurance'),
- ('366', 'Verot ja maksut', 'Taxes and fees'),
- ('367', 'Yhtiölainat ja muut rahoituskulut', 'Company loans and other financing costs');
- -- Insert default income categories
- INSERT IGNORE INTO income_categories (category_code, category_name, description) VALUES
- ('300', 'Myynti - EU 0 %', 'Sales - EU 0% VAT'),
- ('301', 'Myynti - Muut maat', 'Sales - Other countries'),
- ('302', 'Myynti - Käänteinen vero', 'Sales - Reverse VAT'),
- ('303', 'Myynti - Suomi 0 %', 'Sales - Finland 0% VAT'),
- ('308', 'Myyntitavarat', 'Sales of fixed assets'),
- ('309', 'Osuuskorvaukset', 'Share compensation'),
- ('310', 'Korkotulot ja muut rahoitustuotot', 'Interest income and other financial income'),
- ('311', 'Voitonjako', 'Profit distribution'),
- ('312', 'Sijoitustoiminnan tuotot', 'Investment income'),
- ('313', 'Apurahat ja muut avustukset', 'Grants and other subsidies'),
- ('314', 'Muu tuotto', 'Other income');
- -- Insert accounting categories
- INSERT IGNORE INTO accounting_categories (category_code, category_name, category_type, vat_percentage) VALUES
- ('333', 'Ostot ja ulkopuoliset palvelut', 'Kulu', 24.00),
- ('334', 'Henkilöstökulut', 'Kulu', 0.00),
- ('335', 'Poistot, edustuskulut ja vuokrat', 'Kulu', 24.00),
- ('336', 'Muut vähennyskelpoiset kulut', 'Kulu', 24.00),
- ('337', 'Rahoituskulut', 'Kulu', 0.00),
- ('341', 'Varausten muutokset', 'Kulu', 0.00),
- ('343', 'Varausten myynnit', 'Kulu', 0.00),
- ('344', 'Matkakulut', 'Kulu', 24.00),
- ('346', 'Muut kulut', 'Kulu', 24.00),
- ('349', 'Poistot', 'Kulu', 0.00),
- ('353', 'Varainsiirrot', 'Kulu', 0.00),
- ('354', 'Vähennyskelvottomat kulut', 'Kulu', 0.00),
- ('365', 'Vakuutukset', 'Kulu', 24.00),
- ('366', 'Verot ja maksut', 'Kulu', 0.00),
- ('367', 'Yhtiölainat ja muut rahoituskulut', 'Kulu', 0.00),
- ('300', 'Myynti - EU 0 %', 'Tulo', 0.00),
- ('301', 'Myynti - Muut maat', 'Tulo', 0.00),
- ('302', 'Myynti - Käänteinen vero', 'Tulo', 0.00),
- ('303', 'Myynti - Suomi 0 %', 'Tulo', 0.00),
- ('308', 'Myyntitavarat', 'Tulo', 0.00),
- ('309', 'Osuuskorvaukset', 'Tulo', 0.00),
- ('310', 'Korkotulot ja muut rahoitustuotot', 'Tulo', 0.00),
- ('311', 'Voitonjako', 'Tulo', 0.00),
- ('312', 'Sijoitustoiminnan tuotot', 'Tulo', 0.00),
- ('313', 'Apurahat ja muut avustukset', 'Tulo', 0.00),
- ('314', 'Muu tuotto', 'Tulo', 0.00);
|