Add vendor pre-population for bulk code and individual edit forms

- Add vendor-changed HTMX handlers for both bulk code and individual edit
- Pre-populate default account at 100% when vendor is selected and no accounts exist
- Fix render-accounts-section to render from step-params correctly
- Change bulk code vendor-changed from hx-get to hx-post to include form data
- Add routes for vendor-changed endpoints
- Update e2e tests to cover vendor pre-population
- Run lein cljfmt fix across codebase
This commit is contained in:
2026-05-21 14:45:19 -07:00
parent 8bd0cee1b1
commit ba87805d4c
210 changed files with 8694 additions and 9627 deletions

View File

@@ -8,7 +8,7 @@
"payments/" :payments
"admin/" {"vendors" :admin-vendors}
"vendor/" {"new" :new-vendor}
"transactions/" {"" :transactions
"unapproved" :unapproved-transactions
"approved" :approved-transactions

View File

@@ -2,366 +2,366 @@
(def expense-accounts
{0 {:name "Uncategorized" :parent nil}
1100 { :name "1100 Cash and Bank Accounts" :parent nil :location "A" }
1101 { :name "A1101 Cash on Hand" :parent 1100 :location "A" }
1102 { :name "A1102 Petty Cash" :parent 1100 :location "A" }
1120 { :name "A1120 Bank 1" :parent 1100 :location "A" }
1121 { :name "A1121 Bank 2" :parent 1100 :location "A" }
1122 { :name "A1122 Bank 3" :parent 1100 :location "A" }
1123 { :name "A1123 Bank 4" :parent 1100 :location "A" }
1124 { :name "A1124 Bank 5" :parent 1100 :location "A" }
1125 { :name "A1125 Bank 6" :parent 1100 :location "A" }
1126 { :name "A1126 Bank 7" :parent 1100 :location "A" }
1127 { :name "A1127 Bank 8" :parent 1100 :location "A" }
1128 { :name "A1128 Bank 9" :parent 1100 :location "A" }
1129 { :name "A1129 Bank 10" :parent 1100 :location "A" }
1130 { :name "A1130 Bank 11" :parent 1100 :location "A" }
1131 { :name "A1131 Bank 12" :parent 1100 :location "A" }
1132 { :name "A1132 Bank 13" :parent 1100 :location "A" }
1133 { :name "A1133 Bank 14" :parent 1100 :location "A" }
1134 { :name "A1134 Bank 15" :parent 1100 :location "A" }
1135 { :name "A1135 Bank 16" :parent 1100 :location "A" }
1136 { :name "A1136 Bank 17" :parent 1100 :location "A" }
1137 { :name "A1137 Bank 18" :parent 1100 :location "A" }
1138 { :name "A1138 Bank 19" :parent 1100 :location "A" }
1139 { :name "A1139 Bank 20" :parent 1100 :location "A" }
1200 { :name "1200 Accounts Receivable" :parent nil :location "A" }
1210 { :name "A1210 CCP" :parent 1200 :location "A" }
1220 { :name "A1220 Invoice Receivable" :parent 1200 :location "A" }
1211 { :name "A1211 Catering Receivable" :parent 1200 :location "A" }
1230 { :name "A1230 Employee Loans and Advances" :parent nil :location "A" }
1240 { :name "A1240 Owner/ Investor Loans" :parent nil :location "A" }
1250 { :name "A1250 Tradeouts" :parent nil :location "A" }
1260 { :name "A1260 Chargebacks" :parent nil :location "A" }
1270 { :name "A1270 Allowance for Doubtful Accts" :parent nil :location "A" }
1280 { :name "A1280 Other AR 1" :parent nil :location "A" }
1281 { :name "A1281 Other AR 2" :parent 1280 :location "A" }
1282 { :name "A1282 Other AR 3" :parent 1280 :location "A" }
1283 { :name "A1283 Other AR 4" :parent 1280 :location "A" }
1284 { :name "A1284 Other AR 5" :parent 1280 :location "A" }
1285 { :name "A1285 Other AR 6" :parent 1280 :location "A" }
1286 { :name "A1286 Other AR 7" :parent 1280 :location "A" }
1287 { :name "A1287 Other AR 8" :parent 1280 :location "A" }
1288 { :name "A1288 Other AR 9" :parent 1280 :location "A" }
1298 { :name "A1298 Transfer in Process" :parent nil :location "A" }
1299 { :name "A1299 Receipts Split" :parent nil :location "A" }
1300 { :name "1300 Inventory" :parent nil :location "A" }
1310 { :name "L1 1310 Food Inventory" :parent 1300 :location "A" }
1330 { :name "L1 1330 Soft Beverage Inventory" :parent 1300 :location "A" }
1340 { :name "L1 1340 Liquor Inventory" :parent 1300 :location "A" }
1350 { :name "L1 1350 Beer Inventory" :parent 1300 :location "A" }
1360 { :name "L1 1360 Wine Inventory" :parent 1300 :location "A" }
1370 { :name "L1 1370 Paper Products Inventory" :parent 1300 :location "A" }
1380 { :name "L1 1380 Merchandise Inventory" :parent 1300 :location "A" }
1390 { :name "L1 1390 Supplies Inventory" :parent 1300 :location "A" }
1400 { :name "1400 Prepaid Expenses" :parent nil :location "A" }
1410 { :name "A1410 Insurance - Prepaid" :parent 1400 :location "A" }
1420 { :name "A1420 Taxes - Prepaid" :parent 1400 :location "A" }
1430 { :name "A1430 Licenses - Prepaid" :parent 1400 :location "A" }
1440 { :name "A1440 Other - Prepaid" :parent 1400 :location "A" }
1500 { :name "1500 Property and Equipment" :parent nil :location "A" }
1510 { :name "A1510 Land" :parent 1500 :location "A" }
1511 { :name "A1511 Land 2" :parent 1510 :location "A" }
1512 { :name "A1512 Land 3" :parent 1510 :location "A" }
1513 { :name "A1513 Land 4" :parent 1510 :location "A" }
1514 { :name "A1514 Land 5" :parent 1510 :location "A" }
1515 { :name "A1515 Land 6" :parent 1510 :location "A" }
1516 { :name "A1516 Land 7" :parent 1510 :location "A" }
1517 { :name "A1517 Land 8" :parent 1510 :location "A" }
1518 { :name "A1518 Land 9" :parent 1510 :location "A" }
1520 { :name "A1520 Building" :parent 1500 :location "A" }
1521 { :name "A1521 Building 2" :parent 1520 :location "A" }
1522 { :name "A1522 Building 3" :parent 1520 :location "A" }
1523 { :name "A1523 Building 4" :parent 1520 :location "A" }
1524 { :name "A1524 Building 5" :parent 1520 :location "A" }
1525 { :name "A1525 Building 6" :parent 1520 :location "A" }
1526 { :name "A1526 Building 7" :parent 1520 :location "A" }
1527 { :name "A1527 Building 8" :parent 1520 :location "A" }
1528 { :name "A1528 Building 9" :parent 1520 :location "A" }
1530 { :name "A1530 Leasehold Improvements" :parent 1500 :location "A" }
1531 { :name "A1531 Leasehold Improv 2" :parent 1530 :location "A" }
1532 { :name "A1532 Leasehold Improv 3" :parent 1530 :location "A" }
1533 { :name "A1533 Leasehold Improv 4" :parent 1530 :location "A" }
1534 { :name "A1534 Leasehold Improv 5" :parent 1530 :location "A" }
1535 { :name "A1535 Leasehold Improv 6" :parent 1530 :location "A" }
1536 { :name "A1536 Leasehold Improv 7" :parent 1530 :location "A" }
1537 { :name "A1537 Leasehold Improv 8" :parent 1530 :location "A" }
1538 { :name "A1538 Leasehold Improv 9" :parent 1530 :location "A" }
1540 { :name "A1540 Furniture and Equipment" :parent 1500 :location "A" }
1541 { :name "A1541 Kitchen Equipment" :parent 1540 :location "A" }
1542 { :name "A1542 Furniture and Equip 3" :parent 1540 :location "A" }
1543 { :name "A1543 Furniture and Equip 3" :parent 1540 :location "A" }
1544 { :name "A1544 Furniture and Equip 4" :parent 1540 :location "A" }
1545 { :name "A1545 Furniture and Equip 5" :parent 1540 :location "A" }
1546 { :name "A1546 Furniture and Equip 6" :parent 1540 :location "A" }
1547 { :name "A1547 Furniture and Equip 7" :parent 1540 :location "A" }
1548 { :name "A1548 Furniture and Equip 8" :parent 1540 :location "A" }
1550 { :name "A1550 Autos and Trucks" :parent 1500 :location "A" }
1551 { :name "A1551 Furniture and Equip 2" :parent 1550 :location "A" }
1552 { :name "A1552 Furniture and Equip 3" :parent 1550 :location "A" }
1553 { :name "A1553 Furniture and Equip 4" :parent 1550 :location "A" }
1554 { :name "A1554 Furniture and Equip 5" :parent 1550 :location "A" }
1555 { :name "A1555 Furniture and Equip 6" :parent 1550 :location "A" }
1556 { :name "A1556 Furniture and Equip 7" :parent 1550 :location "A" }
1557 { :name "A1557 Furniture and Equip 8" :parent 1550 :location "A" }
1558 { :name "A1558 Furniture and Equip 9" :parent 1550 :location "A" }
1560 { :name "A1560 Construction in Progress" :parent 1500 :location "A" }
1590 { :name "A1590 Accum Depr - Building" :parent 1500 :location "A" }
1592 { :name "A1592 Accum Depr - Leasehold Improvements" :parent 1590 :location "A" }
1594 { :name "A1594 Accum Depr - Furniture and Equipment" :parent 1590 :location "A" }
1596 { :name "A1596 Accum Depr - Autos and Trucks" :parent 1590 :location "A" }
1600 { :name "1600 Intangible Assets" :parent nil :location "A" }
1610 { :name "A1610 Deposits" :parent 1600 :location "A" }
1620 { :name "A1620 Organization Costs" :parent 1600 :location "A" }
1630 { :name "A1630 Start Up Costs" :parent 1600 :location "A" }
1631 { :name "A1631 Start Up Costs 2" :parent 1630 :location "A" }
1632 { :name "A1632 Start Up Costs 3" :parent 1630 :location "A" }
1633 { :name "A1633 Start Up Costs 4" :parent 1630 :location "A" }
1634 { :name "A1634 Start Up Costs 5" :parent 1630 :location "A" }
1635 { :name "A1635 Start Up Costs 6" :parent 1630 :location "A" }
1636 { :name "A1636 Start Up Costs 7" :parent 1630 :location "A" }
1637 { :name "A1637 Start Up Costs 8" :parent 1630 :location "A" }
1638 { :name "A1638 Start Up Costs 9" :parent 1630 :location "A" }
1640 { :name "A1640 Liquor License" :parent 1600 :location "A" }
1641 { :name "A1641 Liquor License 2" :parent 1640 :location "A" }
1642 { :name "A1642 Liquor License 3" :parent 1640 :location "A" }
1643 { :name "A1643 Liquor License 4" :parent 1640 :location "A" }
1644 { :name "A1644 Liquor License 5" :parent 1640 :location "A" }
1645 { :name "A1645 Liquor License 6" :parent 1640 :location "A" }
1646 { :name "A1646 Liquor License 7" :parent 1640 :location "A" }
1647 { :name "A1647 Liquor License 8" :parent 1640 :location "A" }
1648 { :name "A1648 Liquor License 9" :parent 1640 :location "A" }
1650 { :name "A1650 Other Intangible" :parent 1600 :location "A" }
1651 { :name "A1651 Other Intengible 2" :parent 1650 :location "A" }
1652 { :name "A1652 Other Intengible 3" :parent 1650 :location "A" }
1653 { :name "A1653 Other Intengible 4" :parent 1650 :location "A" }
1654 { :name "A1654 Other Intengible 5" :parent 1650 :location "A" }
1655 { :name "A1655 Other Intengible 6" :parent 1650 :location "A" }
1656 { :name "A1656 Other Intengible 7" :parent 1650 :location "A" }
1657 { :name "A1657 Other Intengible 8" :parent 1650 :location "A" }
1658 { :name "A1658 Other Intengible 9" :parent 1650 :location "A" }
1690 { :name "A1690 Accum Amortization" :parent 1500 :location "A" }
2100 { :name "2100 Accounts Payable" :parent nil :location "A" }
2110 { :name "A2110 Bills Payable" :parent 2100 :location "A" }
2190 { :name "A2190 Payroll Payable" :parent 2100 :location "A" }
2200 { :name "A2200 Payroll Taxes Payable" :parent nil :location "A" }
2201 { :name "A2201 Federal Payroll Taxes Payable" :parent 2200 :location "A" }
2202 { :name "A2202 CA Payroll Taxes Payable" :parent 2200 :location "A" }
2300 { :name "A2300 Sales Taxes Payable" :parent nil :location "A" }
2400 { :name "2400 Accrued Expenses" :parent nil :location "A" }
2410 { :name "A2410 Salaries Accrued" :parent 2400 :location "A" }
2420 { :name "A2420 Vacation Pay Accrued" :parent 2400 :location "A" }
2430 { :name "A2430 Rent Accrued" :parent 2400 :location "A" }
2440 { :name "A2440 Utilities Accrued" :parent 2400 :location "A" }
2500 { :name "2500 Other Liabilities" :parent nil :location "A" }
2510 { :name "A2510 Gift Card Outstanding" :parent 2500 :location "A" }
2511 { :name "A2511 Payroll Outstanding" :parent 2510 :location "A" }
2520 { :name "A2520 Customer Deposits" :parent 2500 :location "A" }
2521 { :name "A2521 Promos Outstanding" :parent 2520 :location "A" }
2530 { :name "A2530 Due to Employees" :parent 2500 :location "A" }
2531 { :name "A2531 Tips Payable" :parent 2530 :location "A" }
2540 { :name "A2540 Other Current Liabilites" :parent 2500 :location "A" }
2600 { :name "2600 Split Accounts" :parent nil :location "A" }
2690 { :name "A2690 Splits" :parent 2600 :location "A" }
2691 { :name "A2691 Payroll Split" :parent 2690 :location "A" }
2692 { :name "A2692 12->13 Splits" :parent 2690 :location "A" }
2700 { :name "2700 Current Portion of Long-Term Debt" :parent nil :location "A" }
2710 { :name "2710 Current Portion of Notes Payable" :parent 2700 :location "A" }
2800 { :name "2800 Notes Payable" :parent nil :location "A" }
2810 { :name "A2810 Notes Payable" :parent 2800 :location "A" }
2811 { :name "A2811 Note Payable 2" :parent 2810 :location "A" }
2812 { :name "A2812 Note Payable 3" :parent 2810 :location "A" }
2813 { :name "A2813 Note Payable 4" :parent 2810 :location "A" }
2814 { :name "A2814 Note Payable 5" :parent 2810 :location "A" }
2815 { :name "A2815 Note Payable 6" :parent 2810 :location "A" }
2816 { :name "A2816 Note Payable 7" :parent 2810 :location "A" }
2817 { :name "A2817 Note Payable 8" :parent 2810 :location "A" }
2818 { :name "A2818 Note Payable 9" :parent 2810 :location "A" }
2850 { :name "A2850 Loan from Member/ Partner/ Shareholder" :parent 2800 :location "A" }
2851 { :name "A2851 Owner Loan 2" :parent 2850 :location "A" }
2852 { :name "A2852 Owner Loan 3" :parent 2850 :location "A" }
2853 { :name "A2853 Owner Loan 4" :parent 2850 :location "A" }
2854 { :name "A2854 Owner Loan 5" :parent 2850 :location "A" }
2855 { :name "A2855 Owner Loan 6" :parent 2850 :location "A" }
2856 { :name "A2856 Owner Loan 7" :parent 2850 :location "A" }
2857 { :name "A2857 Owner Loan 8" :parent 2850 :location "A" }
2858 { :name "A2858 Owner Loan 9" :parent 2850 :location "A" }
3001 { :name "A3001 Opening Balance" :parent nil :location "A" }
3100 { :name "A3100 Common Stock" :parent nil :location "A" }
3200 { :name "A3200 Paid in Capital" :parent nil :location "A" }
3201 { :name "A3201 Contributions - Owner 1" :parent 3200 :location "A" }
3202 { :name "A3202 Contributions - Owner 2" :parent 3200 :location "A" }
3203 { :name "A3203 Contributions - Owner 3" :parent 3200 :location "A" }
3204 { :name "A3204 Contributions - Owner 4" :parent 3200 :location "A" }
3205 { :name "A3205 Contributions - Owner 5" :parent 3200 :location "A" }
3206 { :name "A3206 Contributions - Owner 6" :parent 3200 :location "A" }
3207 { :name "A3207 Contributions - Owner 7" :parent 3200 :location "A" }
3208 { :name "A3208 Contributions - Owner 8" :parent 3200 :location "A" }
3209 { :name "A3209 Contributions - Owner 9" :parent 3200 :location "A" }
3210 { :name "A3210 Contributions - Owner 10" :parent 3200 :location "A" }
3300 { :name "A3300 Contributions" :parent nil :location "A" }
3301 { :name "A3301 Contributions - Owner 1" :parent 3300 :location "A" }
3302 { :name "A3302 Contributions - Owner 2" :parent 3300 :location "A" }
3303 { :name "A3303 Contributions - Owner 3" :parent 3300 :location "A" }
3304 { :name "A3304 Contributions - Owner 4" :parent 3300 :location "A" }
3305 { :name "A3305 Contributions - Owner 5" :parent 3300 :location "A" }
3306 { :name "A3306 Contributions - Owner 6" :parent 3300 :location "A" }
3307 { :name "A3307 Contributions - Owner 7" :parent 3300 :location "A" }
3308 { :name "A3308 Contributions - Owner 8" :parent 3300 :location "A" }
3309 { :name "A3309 Contributions - Owner 9" :parent 3300 :location "A" }
3310 { :name "A3310 Contributions - Owner 10" :parent 3300 :location "A" }
3400 { :name "A3400 Retained Earnings" :parent nil :location "A" }
3401 { :name "A3401 Undistributed Net Inc / Loss" :parent 3400 :location "A" }
5110 {:name "Food Cost" :parent nil}
5111 {:name "Proteins Cost" :parent 5110}
5112 {:name "Beef/ Pork Costs" :parent 5111}
1100 {:name "1100 Cash and Bank Accounts" :parent nil :location "A"}
1101 {:name "A1101 Cash on Hand" :parent 1100 :location "A"}
1102 {:name "A1102 Petty Cash" :parent 1100 :location "A"}
1120 {:name "A1120 Bank 1" :parent 1100 :location "A"}
1121 {:name "A1121 Bank 2" :parent 1100 :location "A"}
1122 {:name "A1122 Bank 3" :parent 1100 :location "A"}
1123 {:name "A1123 Bank 4" :parent 1100 :location "A"}
1124 {:name "A1124 Bank 5" :parent 1100 :location "A"}
1125 {:name "A1125 Bank 6" :parent 1100 :location "A"}
1126 {:name "A1126 Bank 7" :parent 1100 :location "A"}
1127 {:name "A1127 Bank 8" :parent 1100 :location "A"}
1128 {:name "A1128 Bank 9" :parent 1100 :location "A"}
1129 {:name "A1129 Bank 10" :parent 1100 :location "A"}
1130 {:name "A1130 Bank 11" :parent 1100 :location "A"}
1131 {:name "A1131 Bank 12" :parent 1100 :location "A"}
1132 {:name "A1132 Bank 13" :parent 1100 :location "A"}
1133 {:name "A1133 Bank 14" :parent 1100 :location "A"}
1134 {:name "A1134 Bank 15" :parent 1100 :location "A"}
1135 {:name "A1135 Bank 16" :parent 1100 :location "A"}
1136 {:name "A1136 Bank 17" :parent 1100 :location "A"}
1137 {:name "A1137 Bank 18" :parent 1100 :location "A"}
1138 {:name "A1138 Bank 19" :parent 1100 :location "A"}
1139 {:name "A1139 Bank 20" :parent 1100 :location "A"}
1200 {:name "1200 Accounts Receivable" :parent nil :location "A"}
1210 {:name "A1210 CCP" :parent 1200 :location "A"}
1220 {:name "A1220 Invoice Receivable" :parent 1200 :location "A"}
1211 {:name "A1211 Catering Receivable" :parent 1200 :location "A"}
1230 {:name "A1230 Employee Loans and Advances" :parent nil :location "A"}
1240 {:name "A1240 Owner/ Investor Loans" :parent nil :location "A"}
1250 {:name "A1250 Tradeouts" :parent nil :location "A"}
1260 {:name "A1260 Chargebacks" :parent nil :location "A"}
1270 {:name "A1270 Allowance for Doubtful Accts" :parent nil :location "A"}
1280 {:name "A1280 Other AR 1" :parent nil :location "A"}
1281 {:name "A1281 Other AR 2" :parent 1280 :location "A"}
1282 {:name "A1282 Other AR 3" :parent 1280 :location "A"}
1283 {:name "A1283 Other AR 4" :parent 1280 :location "A"}
1284 {:name "A1284 Other AR 5" :parent 1280 :location "A"}
1285 {:name "A1285 Other AR 6" :parent 1280 :location "A"}
1286 {:name "A1286 Other AR 7" :parent 1280 :location "A"}
1287 {:name "A1287 Other AR 8" :parent 1280 :location "A"}
1288 {:name "A1288 Other AR 9" :parent 1280 :location "A"}
1298 {:name "A1298 Transfer in Process" :parent nil :location "A"}
1299 {:name "A1299 Receipts Split" :parent nil :location "A"}
1300 {:name "1300 Inventory" :parent nil :location "A"}
1310 {:name "L1 1310 Food Inventory" :parent 1300 :location "A"}
1330 {:name "L1 1330 Soft Beverage Inventory" :parent 1300 :location "A"}
1340 {:name "L1 1340 Liquor Inventory" :parent 1300 :location "A"}
1350 {:name "L1 1350 Beer Inventory" :parent 1300 :location "A"}
1360 {:name "L1 1360 Wine Inventory" :parent 1300 :location "A"}
1370 {:name "L1 1370 Paper Products Inventory" :parent 1300 :location "A"}
1380 {:name "L1 1380 Merchandise Inventory" :parent 1300 :location "A"}
1390 {:name "L1 1390 Supplies Inventory" :parent 1300 :location "A"}
1400 {:name "1400 Prepaid Expenses" :parent nil :location "A"}
1410 {:name "A1410 Insurance - Prepaid" :parent 1400 :location "A"}
1420 {:name "A1420 Taxes - Prepaid" :parent 1400 :location "A"}
1430 {:name "A1430 Licenses - Prepaid" :parent 1400 :location "A"}
1440 {:name "A1440 Other - Prepaid" :parent 1400 :location "A"}
1500 {:name "1500 Property and Equipment" :parent nil :location "A"}
1510 {:name "A1510 Land" :parent 1500 :location "A"}
1511 {:name "A1511 Land 2" :parent 1510 :location "A"}
1512 {:name "A1512 Land 3" :parent 1510 :location "A"}
1513 {:name "A1513 Land 4" :parent 1510 :location "A"}
1514 {:name "A1514 Land 5" :parent 1510 :location "A"}
1515 {:name "A1515 Land 6" :parent 1510 :location "A"}
1516 {:name "A1516 Land 7" :parent 1510 :location "A"}
1517 {:name "A1517 Land 8" :parent 1510 :location "A"}
1518 {:name "A1518 Land 9" :parent 1510 :location "A"}
1520 {:name "A1520 Building" :parent 1500 :location "A"}
1521 {:name "A1521 Building 2" :parent 1520 :location "A"}
1522 {:name "A1522 Building 3" :parent 1520 :location "A"}
1523 {:name "A1523 Building 4" :parent 1520 :location "A"}
1524 {:name "A1524 Building 5" :parent 1520 :location "A"}
1525 {:name "A1525 Building 6" :parent 1520 :location "A"}
1526 {:name "A1526 Building 7" :parent 1520 :location "A"}
1527 {:name "A1527 Building 8" :parent 1520 :location "A"}
1528 {:name "A1528 Building 9" :parent 1520 :location "A"}
1530 {:name "A1530 Leasehold Improvements" :parent 1500 :location "A"}
1531 {:name "A1531 Leasehold Improv 2" :parent 1530 :location "A"}
1532 {:name "A1532 Leasehold Improv 3" :parent 1530 :location "A"}
1533 {:name "A1533 Leasehold Improv 4" :parent 1530 :location "A"}
1534 {:name "A1534 Leasehold Improv 5" :parent 1530 :location "A"}
1535 {:name "A1535 Leasehold Improv 6" :parent 1530 :location "A"}
1536 {:name "A1536 Leasehold Improv 7" :parent 1530 :location "A"}
1537 {:name "A1537 Leasehold Improv 8" :parent 1530 :location "A"}
1538 {:name "A1538 Leasehold Improv 9" :parent 1530 :location "A"}
1540 {:name "A1540 Furniture and Equipment" :parent 1500 :location "A"}
1541 {:name "A1541 Kitchen Equipment" :parent 1540 :location "A"}
1542 {:name "A1542 Furniture and Equip 3" :parent 1540 :location "A"}
1543 {:name "A1543 Furniture and Equip 3" :parent 1540 :location "A"}
1544 {:name "A1544 Furniture and Equip 4" :parent 1540 :location "A"}
1545 {:name "A1545 Furniture and Equip 5" :parent 1540 :location "A"}
1546 {:name "A1546 Furniture and Equip 6" :parent 1540 :location "A"}
1547 {:name "A1547 Furniture and Equip 7" :parent 1540 :location "A"}
1548 {:name "A1548 Furniture and Equip 8" :parent 1540 :location "A"}
1550 {:name "A1550 Autos and Trucks" :parent 1500 :location "A"}
1551 {:name "A1551 Furniture and Equip 2" :parent 1550 :location "A"}
1552 {:name "A1552 Furniture and Equip 3" :parent 1550 :location "A"}
1553 {:name "A1553 Furniture and Equip 4" :parent 1550 :location "A"}
1554 {:name "A1554 Furniture and Equip 5" :parent 1550 :location "A"}
1555 {:name "A1555 Furniture and Equip 6" :parent 1550 :location "A"}
1556 {:name "A1556 Furniture and Equip 7" :parent 1550 :location "A"}
1557 {:name "A1557 Furniture and Equip 8" :parent 1550 :location "A"}
1558 {:name "A1558 Furniture and Equip 9" :parent 1550 :location "A"}
1560 {:name "A1560 Construction in Progress" :parent 1500 :location "A"}
1590 {:name "A1590 Accum Depr - Building" :parent 1500 :location "A"}
1592 {:name "A1592 Accum Depr - Leasehold Improvements" :parent 1590 :location "A"}
1594 {:name "A1594 Accum Depr - Furniture and Equipment" :parent 1590 :location "A"}
1596 {:name "A1596 Accum Depr - Autos and Trucks" :parent 1590 :location "A"}
1600 {:name "1600 Intangible Assets" :parent nil :location "A"}
1610 {:name "A1610 Deposits" :parent 1600 :location "A"}
1620 {:name "A1620 Organization Costs" :parent 1600 :location "A"}
1630 {:name "A1630 Start Up Costs" :parent 1600 :location "A"}
1631 {:name "A1631 Start Up Costs 2" :parent 1630 :location "A"}
1632 {:name "A1632 Start Up Costs 3" :parent 1630 :location "A"}
1633 {:name "A1633 Start Up Costs 4" :parent 1630 :location "A"}
1634 {:name "A1634 Start Up Costs 5" :parent 1630 :location "A"}
1635 {:name "A1635 Start Up Costs 6" :parent 1630 :location "A"}
1636 {:name "A1636 Start Up Costs 7" :parent 1630 :location "A"}
1637 {:name "A1637 Start Up Costs 8" :parent 1630 :location "A"}
1638 {:name "A1638 Start Up Costs 9" :parent 1630 :location "A"}
1640 {:name "A1640 Liquor License" :parent 1600 :location "A"}
1641 {:name "A1641 Liquor License 2" :parent 1640 :location "A"}
1642 {:name "A1642 Liquor License 3" :parent 1640 :location "A"}
1643 {:name "A1643 Liquor License 4" :parent 1640 :location "A"}
1644 {:name "A1644 Liquor License 5" :parent 1640 :location "A"}
1645 {:name "A1645 Liquor License 6" :parent 1640 :location "A"}
1646 {:name "A1646 Liquor License 7" :parent 1640 :location "A"}
1647 {:name "A1647 Liquor License 8" :parent 1640 :location "A"}
1648 {:name "A1648 Liquor License 9" :parent 1640 :location "A"}
1650 {:name "A1650 Other Intangible" :parent 1600 :location "A"}
1651 {:name "A1651 Other Intengible 2" :parent 1650 :location "A"}
1652 {:name "A1652 Other Intengible 3" :parent 1650 :location "A"}
1653 {:name "A1653 Other Intengible 4" :parent 1650 :location "A"}
1654 {:name "A1654 Other Intengible 5" :parent 1650 :location "A"}
1655 {:name "A1655 Other Intengible 6" :parent 1650 :location "A"}
1656 {:name "A1656 Other Intengible 7" :parent 1650 :location "A"}
1657 {:name "A1657 Other Intengible 8" :parent 1650 :location "A"}
1658 {:name "A1658 Other Intengible 9" :parent 1650 :location "A"}
1690 {:name "A1690 Accum Amortization" :parent 1500 :location "A"}
2100 {:name "2100 Accounts Payable" :parent nil :location "A"}
2110 {:name "A2110 Bills Payable" :parent 2100 :location "A"}
2190 {:name "A2190 Payroll Payable" :parent 2100 :location "A"}
2200 {:name "A2200 Payroll Taxes Payable" :parent nil :location "A"}
2201 {:name "A2201 Federal Payroll Taxes Payable" :parent 2200 :location "A"}
2202 {:name "A2202 CA Payroll Taxes Payable" :parent 2200 :location "A"}
2300 {:name "A2300 Sales Taxes Payable" :parent nil :location "A"}
2400 {:name "2400 Accrued Expenses" :parent nil :location "A"}
2410 {:name "A2410 Salaries Accrued" :parent 2400 :location "A"}
2420 {:name "A2420 Vacation Pay Accrued" :parent 2400 :location "A"}
2430 {:name "A2430 Rent Accrued" :parent 2400 :location "A"}
2440 {:name "A2440 Utilities Accrued" :parent 2400 :location "A"}
2500 {:name "2500 Other Liabilities" :parent nil :location "A"}
2510 {:name "A2510 Gift Card Outstanding" :parent 2500 :location "A"}
2511 {:name "A2511 Payroll Outstanding" :parent 2510 :location "A"}
2520 {:name "A2520 Customer Deposits" :parent 2500 :location "A"}
2521 {:name "A2521 Promos Outstanding" :parent 2520 :location "A"}
2530 {:name "A2530 Due to Employees" :parent 2500 :location "A"}
2531 {:name "A2531 Tips Payable" :parent 2530 :location "A"}
2540 {:name "A2540 Other Current Liabilites" :parent 2500 :location "A"}
2600 {:name "2600 Split Accounts" :parent nil :location "A"}
2690 {:name "A2690 Splits" :parent 2600 :location "A"}
2691 {:name "A2691 Payroll Split" :parent 2690 :location "A"}
2692 {:name "A2692 12->13 Splits" :parent 2690 :location "A"}
2700 {:name "2700 Current Portion of Long-Term Debt" :parent nil :location "A"}
2710 {:name "2710 Current Portion of Notes Payable" :parent 2700 :location "A"}
2800 {:name "2800 Notes Payable" :parent nil :location "A"}
2810 {:name "A2810 Notes Payable" :parent 2800 :location "A"}
2811 {:name "A2811 Note Payable 2" :parent 2810 :location "A"}
2812 {:name "A2812 Note Payable 3" :parent 2810 :location "A"}
2813 {:name "A2813 Note Payable 4" :parent 2810 :location "A"}
2814 {:name "A2814 Note Payable 5" :parent 2810 :location "A"}
2815 {:name "A2815 Note Payable 6" :parent 2810 :location "A"}
2816 {:name "A2816 Note Payable 7" :parent 2810 :location "A"}
2817 {:name "A2817 Note Payable 8" :parent 2810 :location "A"}
2818 {:name "A2818 Note Payable 9" :parent 2810 :location "A"}
2850 {:name "A2850 Loan from Member/ Partner/ Shareholder" :parent 2800 :location "A"}
2851 {:name "A2851 Owner Loan 2" :parent 2850 :location "A"}
2852 {:name "A2852 Owner Loan 3" :parent 2850 :location "A"}
2853 {:name "A2853 Owner Loan 4" :parent 2850 :location "A"}
2854 {:name "A2854 Owner Loan 5" :parent 2850 :location "A"}
2855 {:name "A2855 Owner Loan 6" :parent 2850 :location "A"}
2856 {:name "A2856 Owner Loan 7" :parent 2850 :location "A"}
2857 {:name "A2857 Owner Loan 8" :parent 2850 :location "A"}
2858 {:name "A2858 Owner Loan 9" :parent 2850 :location "A"}
3001 {:name "A3001 Opening Balance" :parent nil :location "A"}
3100 {:name "A3100 Common Stock" :parent nil :location "A"}
3200 {:name "A3200 Paid in Capital" :parent nil :location "A"}
3201 {:name "A3201 Contributions - Owner 1" :parent 3200 :location "A"}
3202 {:name "A3202 Contributions - Owner 2" :parent 3200 :location "A"}
3203 {:name "A3203 Contributions - Owner 3" :parent 3200 :location "A"}
3204 {:name "A3204 Contributions - Owner 4" :parent 3200 :location "A"}
3205 {:name "A3205 Contributions - Owner 5" :parent 3200 :location "A"}
3206 {:name "A3206 Contributions - Owner 6" :parent 3200 :location "A"}
3207 {:name "A3207 Contributions - Owner 7" :parent 3200 :location "A"}
3208 {:name "A3208 Contributions - Owner 8" :parent 3200 :location "A"}
3209 {:name "A3209 Contributions - Owner 9" :parent 3200 :location "A"}
3210 {:name "A3210 Contributions - Owner 10" :parent 3200 :location "A"}
3300 {:name "A3300 Contributions" :parent nil :location "A"}
3301 {:name "A3301 Contributions - Owner 1" :parent 3300 :location "A"}
3302 {:name "A3302 Contributions - Owner 2" :parent 3300 :location "A"}
3303 {:name "A3303 Contributions - Owner 3" :parent 3300 :location "A"}
3304 {:name "A3304 Contributions - Owner 4" :parent 3300 :location "A"}
3305 {:name "A3305 Contributions - Owner 5" :parent 3300 :location "A"}
3306 {:name "A3306 Contributions - Owner 6" :parent 3300 :location "A"}
3307 {:name "A3307 Contributions - Owner 7" :parent 3300 :location "A"}
3308 {:name "A3308 Contributions - Owner 8" :parent 3300 :location "A"}
3309 {:name "A3309 Contributions - Owner 9" :parent 3300 :location "A"}
3310 {:name "A3310 Contributions - Owner 10" :parent 3300 :location "A"}
3400 {:name "A3400 Retained Earnings" :parent nil :location "A"}
3401 {:name "A3401 Undistributed Net Inc / Loss" :parent 3400 :location "A"}
5110 {:name "Food Cost" :parent nil}
5111 {:name "Proteins Cost" :parent 5110}
5112 {:name "Beef/ Pork Costs" :parent 5111}
5113 {:name "Chicken/ Poultry Costs" :parent 5111}
5114 {:name "Seafood Costs" :parent 5111}
5120 {:name "Produce Costs" :parent 5110}
5130 {:name "Dairy Costs" :parent 5110}
5140 {:name "Bread and Bun Costs" :parent 5110}
5210 {:name "Soft Beverage Cost" :parent 5110}
5220 {:name "Coffee Costs" :parent 5110}
5310 {:name "Catering Cost" :parent 5110}
5400 {:name "Alcolhol Cost" :parent nil}
5410 {:name "Beer Cost" :parent 5400}
5411 {:name "CO2 Costs" :parent 5400}
5510 {:name "Wine Cost" :parent 5400}
5610 {:name "Liquor Cost" :parent 5400}
5700 {:name "Merchandise Cost" :parent nil}
5710 {:name "Merchandise Cost" :parent 5700}
5800 {:name "Other Operating Cost" :parent nil}
5810 {:name "Delivery Van Rental Cost" :parent 5810}
5900 {:name "Paper Cost" :parent nil}
5910 {:name "Paperware Cost" :parent 5900}
7100 {:name "Ops related" :parent nil}
7110 {:name "Banquet and Catering Supplies" :parent 7100}
7120 {:name "Bar Utensils and Supplies" :parent 7100}
7130 {:name "Glassware" :parent 7100}
7140 {:name "Tableware" :parent 7100}
7150 {:name "Paper and Packaging" :parent 7100}
7160 {:name "Security Guards" :parent 7100}
5210 {:name "Soft Beverage Cost" :parent 5110}
5220 {:name "Coffee Costs" :parent 5110}
5310 {:name "Catering Cost" :parent 5110}
5400 {:name "Alcolhol Cost" :parent nil}
5410 {:name "Beer Cost" :parent 5400}
5411 {:name "CO2 Costs" :parent 5400}
5510 {:name "Wine Cost" :parent 5400}
5610 {:name "Liquor Cost" :parent 5400}
5700 {:name "Merchandise Cost" :parent nil}
5710 {:name "Merchandise Cost" :parent 5700}
5800 {:name "Other Operating Cost" :parent nil}
5810 {:name "Delivery Van Rental Cost" :parent 5810}
5900 {:name "Paper Cost" :parent nil}
5910 {:name "Paperware Cost" :parent 5900}
7100 {:name "Ops related" :parent nil}
7110 {:name "Banquet and Catering Supplies" :parent 7100}
7120 {:name "Bar Utensils and Supplies" :parent 7100}
7130 {:name "Glassware" :parent 7100}
7140 {:name "Tableware" :parent 7100}
7150 {:name "Paper and Packaging" :parent 7100}
7160 {:name "Security Guards" :parent 7100}
7200 {:name "Customer Related" :parent nil}
7210 {:name "Flowers and ST Decorations" :parent 7200}
7220 {:name "Menus" :parent 7200}
7225 {:name "In Store Printing" :parent 7200}
7230 {:name "Advertising" :parent 7200}
7235 {:name "Door Dash Advertising" :parent 7200}
7240 {:name "Cable Television" :parent 7200}
7242 {:name "Music Licensing Fees" :parent 7200}
7244 {:name "Bands and DJ's" :parent 7200}
7246 {:name "Entertainment - Other" :parent 7200}
7250 {:name "Reservation System" :parent 7200}
7210 {:name "Flowers and ST Decorations" :parent 7200}
7220 {:name "Menus" :parent 7200}
7225 {:name "In Store Printing" :parent 7200}
7230 {:name "Advertising" :parent 7200}
7235 {:name "Door Dash Advertising" :parent 7200}
7240 {:name "Cable Television" :parent 7200}
7242 {:name "Music Licensing Fees" :parent 7200}
7244 {:name "Bands and DJ's" :parent 7200}
7246 {:name "Entertainment - Other" :parent 7200}
7250 {:name "Reservation System" :parent 7200}
7300 {:name "Employee Related" :parent nil}
7310 {:name "Auto and Truck Expenses" :parent 7300}
7315 {:name "Freight and Fuel Charges" :parent 7300}
7320 {:name "Kitchen Supplies" :parent 7300}
7325 {:name "Kitchen Utensils and Smallwares" :parent 7300}
7330 {:name "Parking" :parent 7300}
7340 {:name "Uniforms" :parent 7300}
7350 {:name "Recruiting" :parent 7300}
7360 {:name "Employee Training" :parent 7300}
7310 {:name "Auto and Truck Expenses" :parent 7300}
7315 {:name "Freight and Fuel Charges" :parent 7300}
7320 {:name "Kitchen Supplies" :parent 7300}
7325 {:name "Kitchen Utensils and Smallwares" :parent 7300}
7330 {:name "Parking" :parent 7300}
7340 {:name "Uniforms" :parent 7300}
7350 {:name "Recruiting" :parent 7300}
7360 {:name "Employee Training" :parent 7300}
7400 {:name "Building and Equipment Related" :parent nil}
7410 {:name "Cleaning Supplies" :parent 7400}
7415 {:name "Contract Cleaning" :parent 7400}
7420 {:name "Short Term Equipment Rental" :parent 7400}
7430 {:name "Laundry and Drycleaning" :parent 7400}
7435 {:name "Linens" :parent 7400}
7440 {:name "Repairs to Building" :parent 7400}
7450 {:name "Building Cleaning & Maintenance" :parent 7400}
7455 {:name "Pest Control" :parent 7400}
7460 {:name "Repairs to Equipment" :parent 7400}
7461 {:name "Contract Labor" :parent 7400}
7410 {:name "Cleaning Supplies" :parent 7400}
7415 {:name "Contract Cleaning" :parent 7400}
7420 {:name "Short Term Equipment Rental" :parent 7400}
7430 {:name "Laundry and Drycleaning" :parent 7400}
7435 {:name "Linens" :parent 7400}
7440 {:name "Repairs to Building" :parent 7400}
7450 {:name "Building Cleaning & Maintenance" :parent 7400}
7455 {:name "Pest Control" :parent 7400}
7460 {:name "Repairs to Equipment" :parent 7400}
7461 {:name "Contract Labor" :parent 7400}
7500 {:name "Office / Management Related" :parent nil}
7510 {:name "Office Supplies" :parent 7500}
7520 {:name "Printing - Internal" :parent 7500}
7530 {:name "Restaurant Software Fees" :parent 7500}
7540 {:name "Credit Card Processing" :parent 7500}
7550 {:name "Franchise Fee" :parent 7500}
7560 {:name "Unassigned Expenses" :parent 7500}
8100 {:name "Operational" :parent nil }
8110 {:name "Professional Fees" :parent 8100 }
8120 {:name "Accounting" :parent 8100 }
8130 {:name "Membership Dues and Associations" :parent 8100 }
8200 {:name "Occupancy Costs" :parent nil }
8210 {:name "Rent" :parent 8200 }
8220 {:name "CAM" :parent 8200 }
8230 {:name "Real Estate Taxes" :parent 8200 }
8300 {:name "Utilities" :parent nil }
8310 {:name "Electric" :parent 8300 }
8320 {:name "Gas" :parent 8300 }
8330 {:name "Trash Removal" :parent 8300 }
8340 {:name "Water and Sewage" :parent 8300 }
8350 {:name "Internet" :parent 8300 }
8400 {:name "Equipment Rental" :parent nil }
8410 {:name "Kitchen Equipment Rental" :parent 8400 }
8420 {:name "POS System" :parent 8400 }
8430 {:name "Other Rental" :parent 8400 }
8500 {:name "Taxes and Insurance" :parent nil }
8510 {:name "Liability Insurance" :parent 8500 }
8511 {:name "Workers Comp Insurance" :parent 8500 }
8610 {:name "Business License" :parent 8500 }
8620 {:name "Health Permit" :parent 8500 }
8710 {:name "Personal Property Taxes" :parent nil }
8800 {:name "Depriciation" :parent nil }
8810 {:name "Amortization of Lease" :parent 8800 }
8820 {:name "Amortization of Leasehold Improvements" :parent 8800 }
8830 {:name "Amortization of Start Up Costs" :parent 8800 }
8850 {:name "Depreciation on Building" :parent 8800 }
8860 {:name "Depreciation on Furnitire and Fixtures" :parent 8800 }
9100 {:name "HQ Promotion and Outreach" :parent nil :location "HQ" }
9110 {:name "Marketing and Advertising - HQ" :parent 9100 :location "HQ" }
9120 {:name "Marketing Consultant - HQ" :parent 9100 :location "HQ" }
9130 {:name "Advertisements - HQ" :parent 9100 :location "HQ" }
9140 {:name "Design - HQ" :parent 9100 :location "HQ" }
9150 {:name "Charitable Contricutions - HQ" :parent 9100 :location "HQ" }
9160 {:name "Meals and Entertainment - HQ" :parent 9100 :location "HQ" }
9170 {:name "Travel - HQ" :parent 9100 :location "HQ" }
9180 {:name "Food Research - HQ" :parent 9100 :location "HQ" }
9190 {:name "Membership Dues and Assocations - HQ" :parent 9100 :location "HQ" }
9200 {:name "HQ Employee Morale and Training" :parent nil :location "HQ" }
9210 {:name "Company Picnics - HQ" :parent 9200 :location "HQ" }
9220 {:name "Employee Gifts - HQ" :parent 9200 :location "HQ" }
9230 {:name "Employee Medical Expenses - HQ" :parent 9200 :location "HQ" }
9240 {:name "Employee Mileage Reimbursements - HQ" :parent 9200 :location "HQ" }
9250 {:name "Recruiting Costs - HQ" :parent 9200 :location "HQ" }
9260 {:name "Employee Training - HQ" :parent 9200 :location "HQ" }
9300 {:name "HQ Operational" :parent nil :location "HQ" }
9310 {:name "Legal Fees - HQ" :parent 9300 :location "HQ" }
9315 {:name "Accounting - HQ" :parent 9300 :location "HQ" }
9320 {:name "Consultants - HQ" :parent 9300 :location "HQ" }
9330 {:name "Liability Insurance - HQ" :parent 9300 :location "HQ" }
9340 {:name "Office Rent - HQ" :parent 9300 :location "HQ" }
9345 {:name "Office CAM - HQ" :parent 9300 :location "HQ" }
9350 {:name "Office Supplies - HQ" :parent 9300 :location "HQ" }
9355 {:name "Office Snacks - HQ" :parent 9300 :location "HQ" }
9360 {:name "Office Repairs - HQ" :parent 9300 :location "HQ" }
9365 {:name "Office Maintenance - HQ" :parent 9300 :location "HQ" }
9370 {:name "Utilities - HQ" :parent 9300 :location "HQ" }
9380 {:name "Telephone - HQ" :parent 9300 :location "HQ" }
9383 {:name "Storage - HQ" :parent 9380 :location "HQ" }
9500 {:name "HQ Interest and Bank Expenses" :parent nil :location "HQ" }
9510 {:name "Bank Fees - HQ" :parent 9500 :location "HQ" }
9520 {:name "NSF Fees - HQ" :parent 9500 :location "HQ" }
9530 {:name "Late Payment Fees - HQ" :parent 9500 :location "HQ" }
9540 {:name "Interest Expense - HQ" :parent 9500 :location "HQ" }
9541 {:name "Late Payment Penalties" :parent 9500 :location "HQ" }
9600 {:name "HQ Depreciation" :parent nil :location "HQ" }
9610 {:name "Amortization of Lease - HQ" :parent 9600 :location "HQ" }
9620 {:name "Amortization of Leasehold Improvements - HQ" :parent 9600 :location "HQ" }
9630 {:name "Amortization of Start Up Costs - HQ" :parent 9600 :location "HQ" }
9650 {:name "Depreciation on Building - HQ" :parent 9600 :location "HQ" }
9660 {:name "Depreciation on Furniture and Fixtures - HQ" :parent 9600 :location "HQ" }
9700 {:name "HQ Taxes" :parent nil :location "HQ" }
9710 {:name "Federal Taxes - HQ" :parent 9700 :location "HQ" }
9720 {:name "State Taxes - HQ" :parent 9700 :location "HQ" }
9725 {:name "LLC Fee - HQ" :parent 9700 :location "HQ" }
9730 {:name "Local Taxes - HQ" :parent 9700 :location "HQ" }
9800 {:name "HQ Other Expenses" :parent nil :location "HQ" }
9810 {:name "Sales Tax Received Adjustments - HQ" :parent 9800 :location "HQ" }
9820 {:name "Judgments - HQ" :parent 9800 :location "HQ" }
9880 {:name "Misc Payments - HQ" :parent 9800 :location "HQ" }
9890 {:name "Unassigned Exp - HQ" :parent 9800 :location "HQ" }})
7510 {:name "Office Supplies" :parent 7500}
7520 {:name "Printing - Internal" :parent 7500}
7530 {:name "Restaurant Software Fees" :parent 7500}
7540 {:name "Credit Card Processing" :parent 7500}
7550 {:name "Franchise Fee" :parent 7500}
7560 {:name "Unassigned Expenses" :parent 7500}
8100 {:name "Operational" :parent nil}
8110 {:name "Professional Fees" :parent 8100}
8120 {:name "Accounting" :parent 8100}
8130 {:name "Membership Dues and Associations" :parent 8100}
8200 {:name "Occupancy Costs" :parent nil}
8210 {:name "Rent" :parent 8200}
8220 {:name "CAM" :parent 8200}
8230 {:name "Real Estate Taxes" :parent 8200}
8300 {:name "Utilities" :parent nil}
8310 {:name "Electric" :parent 8300}
8320 {:name "Gas" :parent 8300}
8330 {:name "Trash Removal" :parent 8300}
8340 {:name "Water and Sewage" :parent 8300}
8350 {:name "Internet" :parent 8300}
8400 {:name "Equipment Rental" :parent nil}
8410 {:name "Kitchen Equipment Rental" :parent 8400}
8420 {:name "POS System" :parent 8400}
8430 {:name "Other Rental" :parent 8400}
8500 {:name "Taxes and Insurance" :parent nil}
8510 {:name "Liability Insurance" :parent 8500}
8511 {:name "Workers Comp Insurance" :parent 8500}
8610 {:name "Business License" :parent 8500}
8620 {:name "Health Permit" :parent 8500}
8710 {:name "Personal Property Taxes" :parent nil}
8800 {:name "Depriciation" :parent nil}
8810 {:name "Amortization of Lease" :parent 8800}
8820 {:name "Amortization of Leasehold Improvements" :parent 8800}
8830 {:name "Amortization of Start Up Costs" :parent 8800}
8850 {:name "Depreciation on Building" :parent 8800}
8860 {:name "Depreciation on Furnitire and Fixtures" :parent 8800}
9100 {:name "HQ Promotion and Outreach" :parent nil :location "HQ"}
9110 {:name "Marketing and Advertising - HQ" :parent 9100 :location "HQ"}
9120 {:name "Marketing Consultant - HQ" :parent 9100 :location "HQ"}
9130 {:name "Advertisements - HQ" :parent 9100 :location "HQ"}
9140 {:name "Design - HQ" :parent 9100 :location "HQ"}
9150 {:name "Charitable Contricutions - HQ" :parent 9100 :location "HQ"}
9160 {:name "Meals and Entertainment - HQ" :parent 9100 :location "HQ"}
9170 {:name "Travel - HQ" :parent 9100 :location "HQ"}
9180 {:name "Food Research - HQ" :parent 9100 :location "HQ"}
9190 {:name "Membership Dues and Assocations - HQ" :parent 9100 :location "HQ"}
9200 {:name "HQ Employee Morale and Training" :parent nil :location "HQ"}
9210 {:name "Company Picnics - HQ" :parent 9200 :location "HQ"}
9220 {:name "Employee Gifts - HQ" :parent 9200 :location "HQ"}
9230 {:name "Employee Medical Expenses - HQ" :parent 9200 :location "HQ"}
9240 {:name "Employee Mileage Reimbursements - HQ" :parent 9200 :location "HQ"}
9250 {:name "Recruiting Costs - HQ" :parent 9200 :location "HQ"}
9260 {:name "Employee Training - HQ" :parent 9200 :location "HQ"}
9300 {:name "HQ Operational" :parent nil :location "HQ"}
9310 {:name "Legal Fees - HQ" :parent 9300 :location "HQ"}
9315 {:name "Accounting - HQ" :parent 9300 :location "HQ"}
9320 {:name "Consultants - HQ" :parent 9300 :location "HQ"}
9330 {:name "Liability Insurance - HQ" :parent 9300 :location "HQ"}
9340 {:name "Office Rent - HQ" :parent 9300 :location "HQ"}
9345 {:name "Office CAM - HQ" :parent 9300 :location "HQ"}
9350 {:name "Office Supplies - HQ" :parent 9300 :location "HQ"}
9355 {:name "Office Snacks - HQ" :parent 9300 :location "HQ"}
9360 {:name "Office Repairs - HQ" :parent 9300 :location "HQ"}
9365 {:name "Office Maintenance - HQ" :parent 9300 :location "HQ"}
9370 {:name "Utilities - HQ" :parent 9300 :location "HQ"}
9380 {:name "Telephone - HQ" :parent 9300 :location "HQ"}
9383 {:name "Storage - HQ" :parent 9380 :location "HQ"}
9500 {:name "HQ Interest and Bank Expenses" :parent nil :location "HQ"}
9510 {:name "Bank Fees - HQ" :parent 9500 :location "HQ"}
9520 {:name "NSF Fees - HQ" :parent 9500 :location "HQ"}
9530 {:name "Late Payment Fees - HQ" :parent 9500 :location "HQ"}
9540 {:name "Interest Expense - HQ" :parent 9500 :location "HQ"}
9541 {:name "Late Payment Penalties" :parent 9500 :location "HQ"}
9600 {:name "HQ Depreciation" :parent nil :location "HQ"}
9610 {:name "Amortization of Lease - HQ" :parent 9600 :location "HQ"}
9620 {:name "Amortization of Leasehold Improvements - HQ" :parent 9600 :location "HQ"}
9630 {:name "Amortization of Start Up Costs - HQ" :parent 9600 :location "HQ"}
9650 {:name "Depreciation on Building - HQ" :parent 9600 :location "HQ"}
9660 {:name "Depreciation on Furniture and Fixtures - HQ" :parent 9600 :location "HQ"}
9700 {:name "HQ Taxes" :parent nil :location "HQ"}
9710 {:name "Federal Taxes - HQ" :parent 9700 :location "HQ"}
9720 {:name "State Taxes - HQ" :parent 9700 :location "HQ"}
9725 {:name "LLC Fee - HQ" :parent 9700 :location "HQ"}
9730 {:name "Local Taxes - HQ" :parent 9700 :location "HQ"}
9800 {:name "HQ Other Expenses" :parent nil :location "HQ"}
9810 {:name "Sales Tax Received Adjustments - HQ" :parent 9800 :location "HQ"}
9820 {:name "Judgments - HQ" :parent 9800 :location "HQ"}
9880 {:name "Misc Payments - HQ" :parent 9800 :location "HQ"}
9890 {:name "Unassigned Exp - HQ" :parent 9800 :location "HQ"}})
(def chooseable-expense-accounts
(dissoc expense-accounts 0))

File diff suppressed because it is too large Load Diff

View File

@@ -86,9 +86,8 @@
parts)))]
(recur parts n (inc mag)))))))
(defn num->words [num]
(let [total-cents (int (Math/round (* 100 num)))
(let [total-cents (int (Math/round (* 100 num)))
dollar-num (int (quot total-cents 100))
cent-num (int (rem total-cents 100))
dollars (str (words dollar-num) " dollars")

View File

@@ -1,5 +1,5 @@
(ns auto-ap.permissions
#?(:clj
#?(:clj
(:require [cemerick.url :as url])))
;; TODO after getting rid of cljs, use malli schemas to decode this
@@ -107,29 +107,28 @@
(cond
(#{:invoice-page :payment-page :my-company-page :transaction-page :ledger-page} subject)
true
(= [:vendor :create] [subject activity])
true
(= [:vendor :edit] [subject activity])
true
(= [:signature :edit] [subject activity])
true
(= [:invoice :create] [subject activity])
true
(= [:invoice :pay] [subject activity])
true
(= [:invoice :edit] [subject activity])
true
(= [:invoice :delete] [subject activity])
true
(= [:ledger :read] [subject activity])
true
@@ -142,19 +141,19 @@
false)))
#? (:clj
(defn wrap-must
( [handler policy]
(fn [request]
(if (can? (:identity request) policy)
(handler request)
{:status 302
:headers {"Location" (str "/login?"
(url/map->query {"redirect-to" (:uri request)}))}})))
( [handler policy get-client]
(fn [request]
(if (can? (:identity request) (assoc policy :client (get-client request)))
(handler request)
{:status 302
:headers {"Location" (str "/login?"
(url/map->query {"redirect-to" (:uri request)}))}})))))
(defn wrap-must
([handler policy]
(fn [request]
(if (can? (:identity request) policy)
(handler request)
{:status 302
:headers {"Location" (str "/login?"
(url/map->query {"redirect-to" (:uri request)}))}})))
([handler policy get-client]
(fn [request]
(if (can? (:identity request) (assoc policy :client (get-client request)))
(handler request)
{:status 302
:headers {"Location" (str "/login?"
(url/map->query {"redirect-to" (:uri request)}))}})))))

View File

@@ -15,5 +15,4 @@
["/" [#"\d+" :db/id] "/delete"] ::delete
["/" [#"\d+" :db/id] "/run"] {:get ::execute-dialog
:post ::execute}
"/check-badges" ::check-badges
})
"/check-badges" ::check-badges})

View File

@@ -13,5 +13,4 @@
"/new" {:get ::new}
"/merge" {:get ::merge
:put ::merge-submit}
["/" [#"\d+" :db/id] "/edit"] {:get ::edit
}})
["/" [#"\d+" :db/id] "/edit"] {:get ::edit}})

View File

@@ -1,6 +1,6 @@
(ns auto-ap.routes.dashboard)
(def routes {""
{:get ::page }
{:get ::page}
"/expense-card" ::expense-card
"/pnl-card" ::pnl-card
"/sales-card" ::sales-card

View File

@@ -21,12 +21,12 @@
"/account/prediction" ::account-prediction
"/total" ::expense-account-total
"/balance" ::expense-account-balance}
"/pay-button" ::pay-button
"/pay" {:get ::pay-wizard
"/using-credit" ::pay-using-credit
"/navigate" ::pay-wizard-navigate
:post ::pay-submit}
"/bulk-delete" {:get ::bulk-delete
@@ -35,12 +35,12 @@
:put ::bulk-edit-submit
"/account" ::bulk-edit-new-account
"/total" ::bulk-edit-total
"/balance" ::bulk-edit-balance}
"/balance" ::bulk-edit-balance}
["/" [#"\d+" :db/id]] {:delete ::delete
"/undo-autopay" ::undo-autopay
"/unvoid" ::unvoid
"/edit" ::edit-wizard}
"/table" ::table })
"/table" ::table})
(def legacy-routes {"" ::legacy-invoices
"import" ::legacy-import-invoices

View File

@@ -13,15 +13,15 @@
"/import" ::external-import-import}
"/investigate" {"" ::investigate
"/results" ::investigate-results}
"/table" ::table
"/csv" ::csv
"/table" ::table
"/csv" ::csv
"/bank-account-filter" ::bank-account-filter
"/reports/balance-sheet" {"" ::balance-sheet
"/run" ::run-balance-sheet
"/export" ::export-balance-sheet}
"/reports/cash-flows" {"" ::cash-flows
"/run" ::run-cash-flows
"/export" ::export-cash-flows}
"/run" ::run-cash-flows
"/export" ::export-cash-flows}
"/reports/profit-and-loss" {"" ::profit-and-loss
"/run" ::run-profit-and-loss
"/export" ::export-profit-and-loss}})
"/run" ::run-profit-and-loss
"/export" ::export-profit-and-loss}})

View File

@@ -1,4 +1,4 @@
(ns auto-ap.routes.outgoing-invoice)
(def routes {"/" {"new" {:get ::new
(def routes {"/" {"new" {:get ::new
:post ::new-submit}
"line-item/new" {:get ::new-line-item}}})

View File

@@ -2,7 +2,7 @@
(def routes {"" {:get ::page
:put ::edit-wizard-submit}
"/table" ::table
["/" [#"\d+" :db/id]] {:get ::edit-wizard }
["/" [#"\d+" :db/id]] {:get ::edit-wizard}
"/edit/navigate" ::edit-wizard-navigate
"/edit/sales-summary-item" ::new-summary-item
"/edit/item-account" ::edit-item-account

View File

@@ -9,7 +9,8 @@
"/bulk-suppress" ::bulk-suppress
"/bulk-code" {:get ::bulk-code
:put ::bulk-code-submit
"/new-account" ::bulk-code-new-account}}
"/new-account" ::bulk-code-new-account
"/vendor-changed" ::bulk-code-vendor-changed}}
"/new" {:get ::new
:post ::new-submit
"/location-select" ::location-select
@@ -20,19 +21,19 @@
"/external-import-new" {"" ::external-import-page
"/parse" ::external-import-parse
"/import" ::external-import-import}
"/table" ::table
"/csv" ::csv
"/table" ::table
"/csv" ::csv
"/bank-account-filter" ::bank-account-filter
["/" [#"\d+" :db/id]] {"/edit" {:get ::edit-wizard
} }
["/" [#"\d+" :db/id]] {"/edit" {:get ::edit-wizard}}
"/edit-submit" ::edit-submit
"/edit-vendor-changed" ::edit-vendor-changed
"/location-select" ::location-select
"/account-total" ::account-total
"/account-balance" ::account-balance
"/toggle-amount-mode" ::toggle-amount-mode
"/edit-wizard-new-account" ::edit-wizard-new-account
"/account-total" ::account-total
"/account-balance" ::account-balance
"/toggle-amount-mode" ::toggle-amount-mode
"/edit-wizard-new-account" ::edit-wizard-new-account
"/match-payment" ::link-payment
"/match-autopay-invoices" ::link-autopay-invoices
"/match-unpaid-invoices" ::link-unpaid-invoices

View File

@@ -21,7 +21,7 @@
"login" :login
"search" :search
"indicators" indicator-routes/routes
"dashboard" d-routes/routes
"account" {"/search" {:get :account-search}}
"admin" {"" :auto-ap.routes.admin/page
@@ -73,13 +73,13 @@
"/table" {:get :pos-refund-table}}
"/cash-drawer-shifts" {"" {:get :pos-cash-drawer-shifts}
"/table" {:get :pos-cash-drawer-shift-table}}}
"outgoing-invoice" oi-routes/routes
"payment" p-routes/routes
"invoice" i-routes/routes
"invoices/" i-routes/legacy-routes
"invoices" i-routes/legacy-routes
"vendor" {"/search" :vendor-search}
;; TODO Include IDS in routes for company-specific things, as opposed to headers
"company" {"" :company
@@ -109,7 +109,7 @@
"/fastlink" {:get :company-yodlee-fastlink-dialog}
"/refresh" {:put :company-yodlee-provider-account-refresh}
"/reauthenticate" {:put :company-yodlee-provider-account-reauthenticate}}
"/plaid" {"" {:get :company-plaid}
"/table" {:get :company-plaid-table}
"/link" {:post :company-plaid-link}
@@ -117,6 +117,5 @@
#_#_"/fastlink" {:get :company-yodlee-fastlink-dialog}
#_#_"/refresh" {:put :company-yodlee-provider-account-refresh}}}})
(def only-routes ["/" routes])

View File

@@ -10,7 +10,7 @@
(some->> d (format/unparse pretty)))
(defn next-dom [date dom]
(when date
(when date
(let [candidate (time/date-time (time/year date) (time/month date)
#?(:clj (Math/min (int dom)
(time/day (time/last-day-of-the-month (time/year date) (time/month date))))

View File

@@ -1,9 +1,9 @@
(ns auto-ap.utils
#?@
(:clj
[(:require [com.unbounce.dogstatsd.core :as statsd]
[com.brunobonacci.mulog :as mu]
[auto-ap.logging :as alog])]))
(:clj
[(:require [com.unbounce.dogstatsd.core :as statsd]
[com.brunobonacci.mulog :as mu]
[auto-ap.logging :as alog])]))
#_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]}
(defn by
@@ -35,7 +35,7 @@
#_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]}
(defn dollars= [amt1 amt2]
(dollars-0? (- amt1 amt2) ))
(dollars-0? (- amt1 amt2)))
#_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]}
(defn deep-merge [v & vs]
@@ -55,18 +55,17 @@
(let [in-progress? (atom false)]
(fn []
(when (= false @in-progress?)
(try
(try
(reset! in-progress? true)
(f)
(finally
(reset! in-progress? false)))))))
#_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]}
(defn heartbeat [f id]
(fn []
#?(:clj (mu/with-context {:source id}
(try
(try
(alog/info ::starting-process :id id)
(f)
(alog/info ::ending-process :id id)