initial: bootstrap from BukidBountyApp base

This commit is contained in:
Jonathan Sykes
2026-06-06 18:43:00 +08:00
commit eb4a5731fb
5674 changed files with 160857 additions and 0 deletions

View File

@@ -0,0 +1,282 @@
<?php
declare(strict_types=1);
/*
|--------------------------------------------------------------------------
| Accounting Themes
|--------------------------------------------------------------------------
|
| Each theme defines a starter Chart of Accounts hierarchy. The active
| theme is stored as a system setting (`accounting_theme`). Accounts are
| stamped with the theme key + a stable code when seeded so drift can be
| compared later. User-created accounts leave those fields null.
|
| There is no default theme — fresh deployments start on `blank` and an
| operator picks a theme from the Ultimate Console.
|
*/
return [
'blank' => [
'label' => 'Blank',
'description' => 'Empty chart. Build the hierarchy from scratch through the admin UI.',
'version' => 1,
'tree' => [],
],
'general_business' => [
'label' => 'General Business',
'description' => 'Conventional small-business chart of accounts: revenue, COGS, operating expenses, assets, liabilities, equity.',
'version' => 1,
'tree' => [
[
'name' => 'Revenue',
'type' => 'REVENUE',
'children' => [
['name' => 'Sales', 'type' => 'REVENUE'],
['name' => 'Service Income', 'type' => 'REVENUE'],
['name' => 'Other Income', 'type' => 'REVENUE'],
],
],
[
'name' => 'Cost of Goods Sold',
'type' => 'EXPENSE',
'children' => [
['name' => 'Purchases', 'type' => 'EXPENSE'],
['name' => 'Freight In', 'type' => 'EXPENSE'],
],
],
[
'name' => 'Operating Expenses',
'type' => 'EXPENSE',
'children' => [
['name' => 'Salaries & Wages', 'type' => 'EXPENSE'],
['name' => 'Rent', 'type' => 'EXPENSE'],
['name' => 'Utilities', 'type' => 'EXPENSE'],
['name' => 'Office Supplies', 'type' => 'EXPENSE'],
['name' => 'Marketing', 'type' => 'EXPENSE'],
['name' => 'Professional Fees', 'type' => 'EXPENSE'],
],
],
[
'name' => 'Assets',
'type' => 'ASSET',
'children' => [
['name' => 'Cash on Hand', 'type' => 'ASSET'],
['name' => 'Bank Accounts', 'type' => 'ASSET'],
['name' => 'Accounts Receivable', 'type' => 'ASSET'],
['name' => 'Inventory', 'type' => 'ASSET'],
],
],
[
'name' => 'Liabilities',
'type' => 'LIABILITY',
'children' => [
['name' => 'Accounts Payable', 'type' => 'LIABILITY'],
['name' => 'Loans Payable', 'type' => 'LIABILITY'],
['name' => 'Taxes Payable', 'type' => 'LIABILITY'],
],
],
[
'name' => 'Equity',
'type' => 'EQUITY',
'children' => [
['name' => "Owner's Capital", 'type' => 'EQUITY'],
['name' => 'Retained Earnings', 'type' => 'EQUITY'],
],
],
],
],
'retail_pos' => [
'label' => 'Retail / POS',
'description' => 'Storefront and POS-driven business: sales channels, COGS, inventory shrinkage, store operating costs.',
'version' => 1,
'tree' => [
[
'name' => 'Sales',
'type' => 'REVENUE',
'children' => [
['name' => 'Walk-in Sales', 'type' => 'REVENUE'],
['name' => 'Online Sales', 'type' => 'REVENUE'],
['name' => 'Wholesale', 'type' => 'REVENUE'],
['name' => 'Returns & Refunds', 'type' => 'REVENUE'],
],
],
[
'name' => 'Cost of Sales',
'type' => 'EXPENSE',
'children' => [
['name' => 'Inventory Purchases', 'type' => 'EXPENSE'],
['name' => 'Shrinkage & Spoilage', 'type' => 'EXPENSE'],
['name' => 'Packaging', 'type' => 'EXPENSE'],
],
],
[
'name' => 'Store Operations',
'type' => 'EXPENSE',
'children' => [
['name' => 'Store Rent', 'type' => 'EXPENSE'],
['name' => 'Store Utilities', 'type' => 'EXPENSE'],
['name' => 'Cashier Wages', 'type' => 'EXPENSE'],
['name' => 'Payment Processing Fees', 'type' => 'EXPENSE'],
],
],
[
'name' => 'Cash & Equivalents',
'type' => 'ASSET',
'children' => [
['name' => 'Register Cash', 'type' => 'ASSET'],
['name' => 'Bank Deposits', 'type' => 'ASSET'],
],
],
],
],
'service_business' => [
'label' => 'Service Business',
'description' => 'Service-first business: billable income, contractor and labor costs, lean operating overhead.',
'version' => 1,
'tree' => [
[
'name' => 'Service Revenue',
'type' => 'REVENUE',
'children' => [
['name' => 'Consulting Fees', 'type' => 'REVENUE'],
['name' => 'Project Income', 'type' => 'REVENUE'],
['name' => 'Recurring Retainers', 'type' => 'REVENUE'],
],
],
[
'name' => 'Direct Costs',
'type' => 'EXPENSE',
'children' => [
['name' => 'Subcontractors', 'type' => 'EXPENSE'],
['name' => 'Billable Labor', 'type' => 'EXPENSE'],
['name' => 'Software & Tools', 'type' => 'EXPENSE'],
],
],
[
'name' => 'Overhead',
'type' => 'EXPENSE',
'children' => [
['name' => 'Office Rent', 'type' => 'EXPENSE'],
['name' => 'Internet & Phone', 'type' => 'EXPENSE'],
['name' => 'Admin Salaries', 'type' => 'EXPENSE'],
['name' => 'Travel', 'type' => 'EXPENSE'],
],
],
],
],
'agri_coop' => [
'label' => 'Agricultural Cooperative',
'description' => 'Farm-gate cooperative: produce sales, supplier capital, logistics, warehouse and member operations.',
'version' => 1,
'tree' => [
[
'name' => 'Produce Sales',
'type' => 'REVENUE',
'children' => [
['name' => 'Direct Buyers', 'type' => 'REVENUE'],
['name' => 'Wholesale Channel', 'type' => 'REVENUE'],
['name' => 'Consignment', 'type' => 'REVENUE'],
],
],
[
'name' => 'Capital & Procurement',
'type' => 'EXPENSE',
'children' => [
['name' => 'Supplier Advances', 'type' => 'EXPENSE'],
['name' => 'Member Payouts', 'type' => 'EXPENSE'],
['name' => 'Farm Inputs', 'type' => 'EXPENSE'],
],
],
[
'name' => 'Logistics',
'type' => 'EXPENSE',
'children' => [
['name' => 'Hauling & Freight', 'type' => 'EXPENSE'],
['name' => 'Loading / Unloading', 'type' => 'EXPENSE'],
['name' => 'Fuel', 'type' => 'EXPENSE'],
],
],
[
'name' => 'Warehouse',
'type' => 'EXPENSE',
'children' => [
['name' => 'Warehouse Rent', 'type' => 'EXPENSE'],
['name' => 'Warehouse Labor', 'type' => 'EXPENSE'],
['name' => 'Cold Storage', 'type' => 'EXPENSE'],
['name' => 'Spoilage', 'type' => 'EXPENSE'],
],
],
[
'name' => 'Member Equity',
'type' => 'EQUITY',
'children' => [
['name' => 'Share Capital', 'type' => 'EQUITY'],
['name' => 'Patronage Refunds', 'type' => 'EQUITY'],
],
],
],
],
'banana_trading' => [
'label' => 'Banana Trading / Supplier',
'description' => 'Buy-and-sell banana trading: sales by variety, supplier purchases, delivery and logistics, operating costs.',
'version' => 1,
'tree' => [
[
'name' => 'Sales',
'type' => 'REVENUE',
'default_flow' => 'INCOME',
'children' => [
['name' => 'Banana Sales', 'type' => 'REVENUE', 'default_flow' => 'INCOME'],
['name' => 'Lakatan', 'type' => 'REVENUE', 'default_flow' => 'INCOME'],
['name' => 'Latundan', 'type' => 'REVENUE', 'default_flow' => 'INCOME'],
['name' => 'Saba', 'type' => 'REVENUE', 'default_flow' => 'INCOME'],
['name' => 'Cavendish', 'type' => 'REVENUE', 'default_flow' => 'INCOME'],
['name' => 'Other Varieties', 'type' => 'REVENUE', 'default_flow' => 'INCOME'],
],
],
[
'name' => 'Supplier Purchases',
'type' => 'EXPENSE',
'default_flow' => 'EXPENSE',
'children' => [
['name' => 'Banana Purchases', 'type' => 'EXPENSE', 'default_flow' => 'EXPENSE'],
['name' => 'Supplier Advances', 'type' => 'EXPENSE', 'default_flow' => 'EXPENSE'],
['name' => 'Packaging Materials', 'type' => 'EXPENSE', 'default_flow' => 'EXPENSE'],
],
],
[
'name' => 'Delivery & Logistics',
'type' => 'EXPENSE',
'default_flow' => 'EXPENSE',
'children' => [
['name' => 'Delivery Fee', 'type' => 'EXPENSE', 'default_flow' => 'EXPENSE'],
['name' => 'Hauling', 'type' => 'EXPENSE', 'default_flow' => 'EXPENSE'],
['name' => 'Fuel', 'type' => 'EXPENSE', 'default_flow' => 'EXPENSE'],
['name' => 'Loading / Unloading', 'type' => 'EXPENSE', 'default_flow' => 'EXPENSE'],
['name' => 'Toll Fees', 'type' => 'EXPENSE', 'default_flow' => 'EXPENSE'],
],
],
[
'name' => 'Operating Expenses',
'type' => 'EXPENSE',
'default_flow' => 'EXPENSE',
'children' => [
['name' => 'Labor / Arrastrador', 'type' => 'EXPENSE', 'default_flow' => 'EXPENSE'],
['name' => 'Spoilage & Losses', 'type' => 'EXPENSE', 'default_flow' => 'EXPENSE'],
['name' => 'Market Fees', 'type' => 'EXPENSE', 'default_flow' => 'EXPENSE'],
['name' => 'Communication', 'type' => 'EXPENSE', 'default_flow' => 'EXPENSE'],
['name' => 'Miscellaneous', 'type' => 'EXPENSE', 'default_flow' => 'EXPENSE'],
],
],
],
],
];