@apptimate/core-lib 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/constants/menus.ts +241 -593
- package/src/utils/apiProxy.ts +155 -0
- package/src/utils/httpClient.ts +34 -27
package/src/constants/menus.ts
CHANGED
|
@@ -62,142 +62,82 @@ export const MENU_ITEM_REGISTRY: RegistryItem[] = [
|
|
|
62
62
|
{ key: 'core__users', label: 'Users', path: '/users', module: 'Core', defaultGroup: 'User Management' },
|
|
63
63
|
{ key: 'core__roles', label: 'Roles', path: '/roles', module: 'Core', defaultGroup: 'User Management' },
|
|
64
64
|
{ key: 'core__organizations', label: 'Organizations', path: '/organizations', module: 'Core', defaultGroup: 'User Management' },
|
|
65
|
-
{ key: '
|
|
65
|
+
{ key: 'core__parties', label: 'Parties', path: '/parties', module: 'Core', defaultGroup: 'User Management' },
|
|
66
66
|
{ key: 'core__activity_logs', label: 'Activity Logs', path: '/activity-logs', module: 'Core', defaultGroup: 'System Auditing' },
|
|
67
67
|
{ key: 'core__api_requests', label: 'API Requests', path: '/system/api-requests', module: 'Core', defaultGroup: 'System Auditing' },
|
|
68
68
|
{ key: 'core__feature_access_logs', label: 'Feature Access Logs', path: '/system/feature-access-logs', module: 'Core', defaultGroup: 'System Auditing' },
|
|
69
69
|
{ key: 'core__issue_logs', label: 'Issue Logs', path: '/system/issue-logs', module: 'Core', defaultGroup: 'System Auditing' },
|
|
70
70
|
{ key: 'core__feature_registry', label: 'Feature Registry', path: '/system/features', module: 'Core', defaultGroup: 'System Auditing' },
|
|
71
71
|
{ key: 'core__menu_config', label: 'Menu Configuration', path: '/menu-config', module: 'Core', defaultGroup: 'System' },
|
|
72
|
+
{ key: 'core__printables', label: 'Printable Templates', path: '/system/printables', module: 'Core', defaultGroup: 'System' },
|
|
73
|
+
{ key: 'core__warehouses', label: 'Warehouses', path: '/warehouses', module: 'Core', defaultGroup: 'Resources' },
|
|
74
|
+
{ key: 'core__terminals', label: 'Terminals', path: '/terminals', module: 'Core', defaultGroup: 'Resources' },
|
|
72
75
|
|
|
73
76
|
// ── Inventory Module ──
|
|
74
|
-
{ key: '
|
|
75
|
-
{ key: '
|
|
76
|
-
{ key: '
|
|
77
|
-
{ key: '
|
|
78
|
-
|
|
79
|
-
{ key: '
|
|
80
|
-
{ key: '
|
|
81
|
-
{ key: '
|
|
82
|
-
{ key: '
|
|
83
|
-
{ key: '
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
{ key: '
|
|
87
|
-
{ key: '
|
|
88
|
-
{ key: 'inv__consignment', label: 'Consignment', path: '/inventory/consignment', module: 'Inventory', defaultGroup: 'Operations' },
|
|
89
|
-
{ key: 'inv__write_offs', label: 'Write-Offs', path: '/inventory/write-offs', module: 'Inventory', defaultGroup: 'Operations' },
|
|
90
|
-
{ key: 'inv__dashboard', label: 'Dashboard', path: '/inventory/dashboard', module: 'Inventory', defaultGroup: 'Reports' },
|
|
91
|
-
{ key: 'inv__balances', label: 'Stock Balances', path: '/inventory/balances', module: 'Inventory', defaultGroup: 'Reports' },
|
|
92
|
-
{ key: 'inv__reports', label: 'All Reports', path: '/inventory/reports', module: 'Inventory', defaultGroup: 'Reports' },
|
|
93
|
-
|
|
94
|
-
// ── Sales Module: POS channel (current implementation) ──
|
|
95
|
-
{ key: 'pos__dashboard', label: 'POS Dashboard', path: '/pos', module: 'Sales', defaultGroup: 'POS Overview' },
|
|
96
|
-
{ key: 'pos__sell', label: 'Sell Screen', path: '/pos/sell', module: 'Sales', defaultGroup: 'POS Overview' },
|
|
97
|
-
{ key: 'pos__quick_sell', label: 'Quick Sell', path: '/pos/quick-sell', module: 'Sales', defaultGroup: 'POS Overview' },
|
|
98
|
-
{ key: 'pos__terminals', label: 'Terminals', path: '/pos/terminals', module: 'Sales', defaultGroup: 'POS Configuration' },
|
|
99
|
-
{ key: 'pos__sessions', label: 'Sessions', path: '/pos/sessions', module: 'Sales', defaultGroup: 'POS Operations' },
|
|
100
|
-
{ key: 'pos__invoices', label: 'Invoices', path: '/pos/invoices', module: 'Sales', defaultGroup: 'POS Transactions' },
|
|
101
|
-
{ key: 'pos__returns', label: 'Returns', path: '/pos/returns', module: 'Sales', defaultGroup: 'POS Transactions' },
|
|
102
|
-
{ key: 'pos__reports', label: 'Sales Reports', path: '/pos/reports', module: 'Sales', defaultGroup: 'POS Reports' },
|
|
103
|
-
|
|
104
|
-
// ── Finance Module ──
|
|
105
|
-
{ key: 'fin__dashboard', label: 'Dashboard', path: '/finance', module: 'Finance', defaultGroup: 'Overview' },
|
|
106
|
-
{ key: 'fin__settings', label: 'Settings', path: '/finance/settings', module: 'Finance', defaultGroup: 'Setup' },
|
|
107
|
-
{ key: 'fin__chart_of_accounts', label: 'Chart of Accounts', path: '/finance/accounts', module: 'Finance', defaultGroup: 'General Ledger' },
|
|
108
|
-
{ key: 'fin__fiscal_periods', label: 'Fiscal Periods', path: '/finance/fiscal-periods', module: 'Finance', defaultGroup: 'General Ledger' },
|
|
109
|
-
{ key: 'fin__journal_entries', label: 'Journal Entries', path: '/finance/journals', module: 'Finance', defaultGroup: 'General Ledger' },
|
|
110
|
-
{ key: 'fin__gl_transactions', label: 'GL Transactions', path: '/finance/gl-transactions', module: 'Finance', defaultGroup: 'General Ledger' },
|
|
111
|
-
{ key: 'fin__receipts', label: 'Receipts', path: '/finance/receipts', module: 'Finance', defaultGroup: 'Receivables' },
|
|
112
|
-
{ key: 'fin__customers', label: 'Customers (AR)', path: '/finance/customers', module: 'Finance', defaultGroup: 'Receivables' },
|
|
113
|
-
{ key: 'fin__payments', label: 'Payments', path: '/finance/payments', module: 'Finance', defaultGroup: 'Payables' },
|
|
114
|
-
{ key: 'fin__vendors', label: 'Vendors (AP)', path: '/finance/vendors', module: 'Finance', defaultGroup: 'Payables' },
|
|
115
|
-
{ key: 'fin__bank_accounts', label: 'Bank Accounts', path: '/finance/bank/accounts', module: 'Finance', defaultGroup: 'Banking' },
|
|
116
|
-
{ key: 'fin__bank_transactions', label: 'Bank Transactions', path: '/finance/bank/transactions', module: 'Finance', defaultGroup: 'Banking' },
|
|
117
|
-
{ key: 'fin__bank_reconciliation', label: 'Bank Reconciliation', path: '/finance/bank/reconciliation', module: 'Finance', defaultGroup: 'Banking' },
|
|
118
|
-
{ key: 'fin__cheques', label: 'Cheque Management', path: '/finance/cheques', module: 'Finance', defaultGroup: 'Banking' },
|
|
119
|
-
{ key: 'fin__expense_income', label: 'Expense / Income', path: '/finance/expense-income', module: 'Finance', defaultGroup: 'Expense & Income' },
|
|
120
|
-
{ key: 'fin__tax_codes', label: 'Tax Codes', path: '/finance/tax/codes', module: 'Finance', defaultGroup: 'Tax' },
|
|
121
|
-
{ key: 'fin__tax_returns', label: 'Tax Returns', path: '/finance/tax/returns', module: 'Finance', defaultGroup: 'Tax' },
|
|
122
|
-
{ key: 'fin__events', label: 'Accounting Events', path: '/finance/events', module: 'Finance', defaultGroup: 'System' },
|
|
123
|
-
{ key: 'fin__reports', label: 'Reports', path: '/finance/reports', module: 'Finance', defaultGroup: 'Reports' },
|
|
124
|
-
{ key: 'fin__assets', label: 'Fixed Assets', path: '/finance/assets', module: 'Finance', defaultGroup: 'Assets' },
|
|
125
|
-
{ key: 'fin__budgets', label: 'Budgets', path: '/finance/budgets', module: 'Finance', defaultGroup: 'Budgets' },
|
|
126
|
-
{ key: 'fin__period_close', label: 'Period Close', path: '/finance/period-close', module: 'Finance', defaultGroup: 'System' },
|
|
127
|
-
|
|
128
|
-
// ── Sales Module (umbrella / back-office) ──
|
|
77
|
+
{ key: 'inventory__items', label: 'Items', path: '/inventory/items', module: 'Inventory', defaultGroup: 'Catalog' },
|
|
78
|
+
{ key: 'inventory__categories', label: 'Categories', path: '/inventory/categories', module: 'Inventory', defaultGroup: 'Catalog' },
|
|
79
|
+
{ key: 'inventory__brands', label: 'Brands', path: '/inventory/brands', module: 'Inventory', defaultGroup: 'Catalog' },
|
|
80
|
+
{ key: 'inventory__uom', label: 'Units of Measure', path: '/inventory/uom', module: 'Inventory', defaultGroup: 'Catalog' },
|
|
81
|
+
|
|
82
|
+
{ key: 'inventory__stock', label: 'Stock Overview', path: '/inventory/stock', module: 'Inventory', defaultGroup: 'Stock' },
|
|
83
|
+
{ key: 'inventory__ledger', label: 'Stock Movements', path: '/inventory/ledger', module: 'Inventory', defaultGroup: 'Stock' },
|
|
84
|
+
{ key: 'inventory__adjustments', label: 'Adjustments', path: '/inventory/adjustments', module: 'Inventory', defaultGroup: 'Operations' },
|
|
85
|
+
{ key: 'inventory__transfers', label: 'Transfers', path: '/inventory/transfers', module: 'Inventory', defaultGroup: 'Operations' },
|
|
86
|
+
{ key: 'inventory__serials', label: 'Serial Numbers', path: '/inventory/serials', module: 'Inventory', defaultGroup: 'Operations' },
|
|
87
|
+
|
|
88
|
+
// ── Sales Module ──
|
|
89
|
+
{ key: 'sales__price_lists', label: 'Price Lists', path: '/sales/price-lists', module: 'Sales', defaultGroup: 'Master Data' },
|
|
90
|
+
{ key: 'sales__quotations', label: 'Quotations', path: '/sales/quotations', module: 'Sales', defaultGroup: 'Orders' },
|
|
129
91
|
{ key: 'sales__orders', label: 'Sales Orders', path: '/sales/orders', module: 'Sales', defaultGroup: 'Orders' },
|
|
130
|
-
{ key: '
|
|
131
|
-
{ key: '
|
|
132
|
-
{ key: '
|
|
133
|
-
{ key: 'sales__pos', label: 'POS
|
|
134
|
-
{ key: 'sales__returns', label: 'Returns', path: '/sales/returns', module: 'Sales', defaultGroup: 'Returns' },
|
|
135
|
-
{ key: 'sales__reports', label: 'Sales Reports', path: '/sales/reports', module: 'Sales', defaultGroup: 'Reports' },
|
|
92
|
+
{ key: 'sales__goods_issue_notes', label: 'Goods Issue Notes', path: '/sales/delivery-notes', module: 'Sales', defaultGroup: 'Fulfillment' },
|
|
93
|
+
{ key: 'sales__returns', label: 'Sales Returns', path: '/sales/returns', module: 'Sales', defaultGroup: 'Post-Sales' },
|
|
94
|
+
{ key: 'sales__credit_notes', label: 'Credit Notes', path: '/sales/credit-notes', module: 'Sales', defaultGroup: 'Post-Sales' },
|
|
95
|
+
{ key: 'sales__pos', label: 'POS Terminal', path: '/sales/pos', module: 'Sales', defaultGroup: 'POS' },
|
|
136
96
|
|
|
137
|
-
|
|
138
|
-
{ key: '
|
|
139
|
-
{ key: 'purch__suppliers', label: 'Suppliers', path: '/procurement/suppliers', module: 'Procurement', defaultGroup: 'Suppliers' },
|
|
140
|
-
{ key: 'purch__requisitions', label: 'Requisitions', path: '/procurement/requisitions', module: 'Procurement', defaultGroup: 'Purchasing' },
|
|
141
|
-
{ key: 'purch__orders', label: 'Purchase Orders', path: '/procurement/purchase-orders', module: 'Procurement', defaultGroup: 'Purchasing' },
|
|
142
|
-
{ key: 'purch__grn', label: 'Goods Receipts (GRN)', path: '/procurement/grns', module: 'Procurement', defaultGroup: 'Receiving' },
|
|
143
|
-
{ key: 'purch__returns', label: 'Purchase Returns', path: '/procurement/returns', module: 'Procurement', defaultGroup: 'Receiving' },
|
|
144
|
-
{ key: 'purch__invoices', label: 'Supplier Invoices', path: '/procurement/invoices', module: 'Procurement', defaultGroup: 'Invoicing' },
|
|
145
|
-
{ key: 'purch__consignment', label: 'Consignment', path: '/procurement/consignment', module: 'Procurement', defaultGroup: 'Consignment' },
|
|
146
|
-
{ key: 'purch__settlements', label: 'Settlements', path: '/procurement/consignment/settlements', module: 'Procurement', defaultGroup: 'Consignment' },
|
|
97
|
+
{ key: 'sales__pos_sessions', label: 'Terminal Sessions', path: '/sales/pos/sessions', module: 'Sales', defaultGroup: 'POS' },
|
|
98
|
+
{ key: 'sales__reports', label: 'Sales Reports', path: '/sales/reports', module: 'Sales', defaultGroup: 'Analytics' },
|
|
147
99
|
|
|
148
|
-
// ──
|
|
149
|
-
{ key: '
|
|
150
|
-
{ key: '
|
|
151
|
-
{ key: '
|
|
152
|
-
{ key: '
|
|
100
|
+
// ── Procurement Module ──
|
|
101
|
+
{ key: 'procurement__orders', label: 'Purchase Orders', path: '/procurement/orders', module: 'Procurement', defaultGroup: 'Orders' },
|
|
102
|
+
{ key: 'procurement__grn', label: 'Goods Receipt', path: '/procurement/grns', module: 'Procurement', defaultGroup: 'Receiving' },
|
|
103
|
+
{ key: 'procurement__invoices', label: 'Invoices', path: '/finance/invoices', module: 'Procurement', defaultGroup: 'Finance' },
|
|
104
|
+
{ key: 'procurement__payments', label: 'Payments', path: '/finance/payments', module: 'Procurement', defaultGroup: 'Finance' },
|
|
153
105
|
|
|
154
|
-
// ──
|
|
155
|
-
{ key: '
|
|
156
|
-
{ key: '
|
|
157
|
-
{ key: '
|
|
158
|
-
{ key: '
|
|
159
|
-
{ key: '
|
|
106
|
+
// ── Finance Module ──
|
|
107
|
+
{ key: 'finance__invoices', label: 'Invoices', path: '/finance/invoices', module: 'Finance', defaultGroup: 'Transactions' },
|
|
108
|
+
{ key: 'finance__payments', label: 'Payments', path: '/finance/payments', module: 'Finance', defaultGroup: 'Transactions' },
|
|
109
|
+
{ key: 'finance__chart_of_accounts', label: 'Chart of Accounts', path: '/finance/chart-of-accounts', module: 'Finance', defaultGroup: 'Accounting' },
|
|
110
|
+
{ key: 'finance__journal_entries', label: 'Journal Entries', path: '/finance/journal-entries', module: 'Finance', defaultGroup: 'Accounting' },
|
|
111
|
+
{ key: 'finance__fiscal_years', label: 'Fiscal Years', path: '/finance/fiscal-years', module: 'Finance', defaultGroup: 'Accounting' },
|
|
112
|
+
{ key: 'finance__trial_balance', label: 'Trial Balance', path: '/finance/reports/trial-balance', module: 'Finance', defaultGroup: 'Reports' },
|
|
113
|
+
{ key: 'finance__profit_loss', label: 'Profit & Loss', path: '/finance/reports/profit-loss', module: 'Finance', defaultGroup: 'Reports' },
|
|
114
|
+
{ key: 'finance__balance_sheet', label: 'Balance Sheet', path: '/finance/reports/balance-sheet', module: 'Finance', defaultGroup: 'Reports' },
|
|
115
|
+
{ key: 'finance__account_ledger', label: 'Account Ledger', path: '/finance/reports/account-ledger', module: 'Finance', defaultGroup: 'Reports' },
|
|
116
|
+
{ key: 'finance__payment_modes', label: 'Payment Modes', path: '/finance/payment-modes', module: 'Finance', defaultGroup: 'Settings' },
|
|
117
|
+
{ key: 'finance__bank_accounts', label: 'Bank Accounts', path: '/finance/bank-accounts', module: 'Finance', defaultGroup: 'Settings' },
|
|
118
|
+
{ key: 'finance__account_mappings', label: 'Account Mappings', path: '/finance/account-mappings', module: 'Finance', defaultGroup: 'Settings' },
|
|
160
119
|
|
|
161
120
|
// ── Jewelry Module ──
|
|
162
|
-
{ key: '
|
|
163
|
-
{ key: '
|
|
164
|
-
{ key: '
|
|
165
|
-
{ key: '
|
|
166
|
-
{ key: '
|
|
167
|
-
{ key: '
|
|
168
|
-
{ key: '
|
|
169
|
-
{ key: '
|
|
170
|
-
{ key: '
|
|
171
|
-
{ key: '
|
|
172
|
-
{ key: '
|
|
173
|
-
{ key: '
|
|
174
|
-
{ key: '
|
|
175
|
-
{ key: '
|
|
176
|
-
{ key: '
|
|
177
|
-
{ key: '
|
|
178
|
-
{ key: '
|
|
179
|
-
{ key: '
|
|
180
|
-
{ key: '
|
|
181
|
-
{ key: '
|
|
182
|
-
{ key: 'jwl__notifications', label: 'Notifications Queue', path: '/jewelry/notifications', module: 'Jewelry', defaultGroup: 'System' },
|
|
183
|
-
{ key: 'jwl__reports', label: 'Reports', path: '/jewelry/reports', module: 'Jewelry', defaultGroup: 'Reports' },
|
|
184
|
-
{ key: 'jwl__pos_sell', label: 'POS Sell', path: '/jewelry/pos/sell', module: 'Jewelry', defaultGroup: 'Sales & Billing' },
|
|
185
|
-
{ key: 'jwl__pos_sales', label: 'View Sales', path: '/jewelry/pos/sales', module: 'Jewelry', defaultGroup: 'Sales & Billing' },
|
|
186
|
-
{ key: 'jwl__stone_procurement', label: 'Stone Procurement', path: '/jewelry/stone-procurement', module: 'Jewelry', defaultGroup: 'Procurement' },
|
|
187
|
-
{ key: 'jwl__consignment', label: 'Consignment Stock', path: '/jewelry/consignment', module: 'Jewelry', defaultGroup: 'Procurement' },
|
|
188
|
-
{ key: 'jwl__procurement', label: 'Purchase Orders', path: '/jewelry/procurement', module: 'Jewelry', defaultGroup: 'Procurement' },
|
|
189
|
-
{ key: 'jwl__purchase_pos', label: 'Purchase POS', path: '/jewelry/purchases', module: 'Jewelry', defaultGroup: 'Procurement' },
|
|
190
|
-
{ key: 'jwl__processing', label: 'Inventory Processing', path: '/jewelry/purchases/processing', module: 'Jewelry', defaultGroup: 'Procurement' },
|
|
191
|
-
{ key: 'jwl__purchase_returns', label: 'Purchase Returns', path: '/jewelry/purchases/returns', module: 'Jewelry', defaultGroup: 'Procurement' },
|
|
192
|
-
{ key: 'jwl__repositories', label: 'Metal Repositories', path: '/jewelry/repositories', module: 'Jewelry', defaultGroup: 'Operations' },
|
|
193
|
-
{ key: 'jwl__repository_settings', label: 'Repository Settings', path: '/jewelry/repository-settings', module: 'Jewelry', defaultGroup: 'Setup' },
|
|
194
|
-
|
|
195
|
-
// ── AI Intelligence Module ──
|
|
196
|
-
{ key: 'ai__recommendations', label: 'Recommendations', path: '/jewelry/ai/recommendations', module: 'AI', defaultGroup: 'Intelligence' },
|
|
197
|
-
{ key: 'ai__reports', label: 'AI Reports', path: '/jewelry/ai/reports', module: 'AI', defaultGroup: 'Intelligence' },
|
|
198
|
-
{ key: 'ai__anomalies', label: 'Anomalies', path: '/jewelry/ai/anomalies', module: 'AI', defaultGroup: 'Intelligence' },
|
|
199
|
-
{ key: 'ai__predictions', label: 'Predictions', path: '/jewelry/ai/predictions', module: 'AI', defaultGroup: 'Intelligence' },
|
|
200
|
-
{ key: 'ai__usage', label: 'Usage', path: '/jewelry/ai/usage', module: 'AI', defaultGroup: 'Intelligence' },
|
|
121
|
+
{ key: 'jewelry__items', label: 'Jewelry Items', path: '/jewelry/items', module: 'Jewelry', defaultGroup: 'Catalog' },
|
|
122
|
+
{ key: 'jewelry__services', label: 'Services', path: '/jewelry/services', module: 'Jewelry', defaultGroup: 'Catalog' },
|
|
123
|
+
{ key: 'jewelry__categories', label: 'Categories', path: '/jewelry/categories', module: 'Jewelry', defaultGroup: 'Catalog' },
|
|
124
|
+
{ key: 'jewelry__material_types', label: 'Material Types', path: '/jewelry/material-types', module: 'Jewelry', defaultGroup: 'Master Data' },
|
|
125
|
+
{ key: 'jewelry__purities', label: 'Purities', path: '/jewelry/purities', module: 'Jewelry', defaultGroup: 'Master Data' },
|
|
126
|
+
{ key: 'jewelry__metal_rates', label: 'Metal Rates', path: '/jewelry/metal-rates', module: 'Jewelry', defaultGroup: 'Master Data' },
|
|
127
|
+
{ key: 'jewelry__purchase_orders', label: 'Purchase Orders', path: '/jewelry/procurement/orders', module: 'Jewelry', defaultGroup: 'Procurement' },
|
|
128
|
+
{ key: 'jewelry__grn', label: 'Goods Receipt', path: '/jewelry/procurement/grn', module: 'Jewelry', defaultGroup: 'Procurement' },
|
|
129
|
+
{ key: 'jewelry__custom_orders', label: 'Custom Orders', path: '/jewelry/custom-orders', module: 'Jewelry', defaultGroup: 'Procurement' },
|
|
130
|
+
{ key: 'jewelry__transformations', label: 'Transformations', path: '/jewelry/procurement/transformations', module: 'Jewelry', defaultGroup: 'Procurement' },
|
|
131
|
+
{ key: 'jewelry__old_gold_purchases', label: 'Old Material Purchases', path: '/jewelry/old-gold-purchases', module: 'Jewelry', defaultGroup: 'Buying' },
|
|
132
|
+
{ key: 'jewelry__sales', label: 'Sales', path: '/jewelry/sales', module: 'Jewelry', defaultGroup: 'Sales' },
|
|
133
|
+
{ key: 'jewelry__sales_orders', label: 'Sales Orders', path: '/jewelry/sales/orders', module: 'Jewelry', defaultGroup: 'Sales' },
|
|
134
|
+
{ key: 'jewelry__stock_balances', label: 'Stock Balances', path: '/jewelry/stock/balances', module: 'Jewelry', defaultGroup: 'Stock' },
|
|
135
|
+
{ key: 'jewelry__stock_movements', label: 'Stock Movements', path: '/jewelry/stock/movements', module: 'Jewelry', defaultGroup: 'Stock' },
|
|
136
|
+
{ key: 'jewelry__stock_transfers', label: 'Transfers', path: '/jewelry/stock-transfers', module: 'Jewelry', defaultGroup: 'Stock' },
|
|
137
|
+
{ key: 'jewelry__party_transactions', label: 'Party Transactions', path: '/jewelry/party-transactions', module: 'Jewelry', defaultGroup: 'Karigar' },
|
|
138
|
+
{ key: 'jewelry__karigar_scrap_returns', label: 'Karigar Dust Returns', path: '/jewelry/karigar-scrap-returns', module: 'Jewelry', defaultGroup: 'Karigar' },
|
|
139
|
+
{ key: 'jewelry__settings', label: 'Settings', path: '/jewelry/settings', module: 'Jewelry', defaultGroup: 'Configuration' },
|
|
140
|
+
{ key: 'jewelry__reports', label: 'Reports & Dashboards', path: '/reports/jewelry', module: 'Jewelry', defaultGroup: 'Analytics' },
|
|
201
141
|
];
|
|
202
142
|
|
|
203
143
|
/**
|
|
@@ -269,17 +209,19 @@ export interface MenuPreset {
|
|
|
269
209
|
export const MENU_PRESETS: MenuPreset[] = [
|
|
270
210
|
{
|
|
271
211
|
id: 'default_full',
|
|
272
|
-
label: '
|
|
273
|
-
description: '
|
|
212
|
+
label: 'Core Only',
|
|
213
|
+
description: 'System modules only',
|
|
274
214
|
primaryMenus: [
|
|
275
215
|
{
|
|
276
216
|
id: 'core',
|
|
277
217
|
label: 'Core',
|
|
278
218
|
iconName: 'Settings',
|
|
279
219
|
secondaryItems: [
|
|
280
|
-
'core__users', 'core__roles', 'core__organizations',
|
|
220
|
+
'core__users', 'core__roles', 'core__organizations', 'core__parties',
|
|
221
|
+
'core__warehouses', 'core__terminals',
|
|
281
222
|
'core__activity_logs', 'core__api_requests', 'core__feature_access_logs',
|
|
282
223
|
'core__issue_logs', 'core__feature_registry', 'core__menu_config',
|
|
224
|
+
'core__printables',
|
|
283
225
|
],
|
|
284
226
|
},
|
|
285
227
|
{
|
|
@@ -287,118 +229,20 @@ export const MENU_PRESETS: MenuPreset[] = [
|
|
|
287
229
|
label: 'Inventory',
|
|
288
230
|
iconName: 'Package',
|
|
289
231
|
secondaryItems: [
|
|
290
|
-
'
|
|
291
|
-
'
|
|
292
|
-
'
|
|
293
|
-
'inv__opening_balances',
|
|
294
|
-
'inv__dashboard', 'inv__balances', 'inv__reports',
|
|
295
|
-
],
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
id: 'sales',
|
|
299
|
-
label: 'Sales',
|
|
300
|
-
iconName: 'ShoppingCart',
|
|
301
|
-
secondaryItems: [
|
|
302
|
-
'pos__dashboard', 'pos__sell',
|
|
303
|
-
'pos__terminals', 'pos__sessions',
|
|
304
|
-
'pos__invoices', 'pos__returns',
|
|
305
|
-
'pos__reports',
|
|
306
|
-
],
|
|
307
|
-
},
|
|
308
|
-
{
|
|
309
|
-
id: 'finance',
|
|
310
|
-
label: 'Finance',
|
|
311
|
-
iconName: 'Landmark',
|
|
312
|
-
secondaryItems: [
|
|
313
|
-
'fin__dashboard', 'fin__settings',
|
|
314
|
-
'fin__chart_of_accounts', 'fin__fiscal_periods', 'fin__journal_entries', 'fin__gl_transactions',
|
|
315
|
-
'fin__customers', 'fin__vendors',
|
|
316
|
-
'fin__bank_accounts', 'fin__tax_codes',
|
|
317
|
-
],
|
|
318
|
-
},
|
|
319
|
-
{
|
|
320
|
-
id: 'procurement',
|
|
321
|
-
label: 'Procurement',
|
|
322
|
-
iconName: 'Truck',
|
|
323
|
-
secondaryItems: [
|
|
324
|
-
'purch__dashboard', 'purch__suppliers',
|
|
325
|
-
'purch__requisitions', 'purch__orders',
|
|
326
|
-
'purch__grn', 'purch__returns',
|
|
327
|
-
'purch__invoices',
|
|
328
|
-
'purch__consignment', 'purch__settlements',
|
|
232
|
+
'inventory__items', 'inventory__categories', 'inventory__brands', 'inventory__uom',
|
|
233
|
+
'inventory__stock', 'inventory__ledger',
|
|
234
|
+
'inventory__adjustments', 'inventory__transfers', 'inventory__serials',
|
|
329
235
|
],
|
|
330
236
|
},
|
|
331
|
-
],
|
|
332
|
-
},
|
|
333
|
-
{
|
|
334
|
-
id: 'small_retail',
|
|
335
|
-
label: 'Small Retail / Jewelry Shop',
|
|
336
|
-
description: 'Sales, stock, finance — simplified for small retail businesses',
|
|
337
|
-
primaryMenus: [
|
|
338
237
|
{
|
|
339
238
|
id: 'sales',
|
|
340
239
|
label: 'Sales',
|
|
341
240
|
iconName: 'ShoppingCart',
|
|
342
241
|
secondaryItems: [
|
|
343
|
-
'
|
|
344
|
-
'
|
|
345
|
-
'
|
|
346
|
-
'
|
|
347
|
-
'pos__invoices', 'pos__returns',
|
|
348
|
-
'pos__reports',
|
|
349
|
-
],
|
|
350
|
-
},
|
|
351
|
-
{
|
|
352
|
-
id: 'stock',
|
|
353
|
-
label: 'Stock',
|
|
354
|
-
iconName: 'Package',
|
|
355
|
-
secondaryItems: [
|
|
356
|
-
'inv__items', 'inv__categories',
|
|
357
|
-
'inv__documents', 'inv__warehouses',
|
|
358
|
-
'inv__alerts', 'inv__balances',
|
|
359
|
-
],
|
|
360
|
-
},
|
|
361
|
-
{
|
|
362
|
-
id: 'purchases',
|
|
363
|
-
label: 'Purchases',
|
|
364
|
-
iconName: 'Truck',
|
|
365
|
-
secondaryItems: [
|
|
366
|
-
'purch__orders', 'purch__grn', 'purch__suppliers', 'purch__reports',
|
|
367
|
-
],
|
|
368
|
-
},
|
|
369
|
-
{
|
|
370
|
-
id: 'finance',
|
|
371
|
-
label: 'Finance',
|
|
372
|
-
iconName: 'Landmark',
|
|
373
|
-
secondaryItems: [
|
|
374
|
-
'fin__chart_of_accounts', 'fin__journal_entries',
|
|
375
|
-
'fin__invoices', 'fin__payments', 'fin__reports',
|
|
376
|
-
],
|
|
377
|
-
},
|
|
378
|
-
{
|
|
379
|
-
id: 'settings',
|
|
380
|
-
label: 'Settings',
|
|
381
|
-
iconName: 'Settings',
|
|
382
|
-
secondaryItems: [
|
|
383
|
-
'core__users', 'core__roles', 'core__organizations', 'core__menu_config',
|
|
384
|
-
],
|
|
385
|
-
},
|
|
386
|
-
],
|
|
387
|
-
},
|
|
388
|
-
{
|
|
389
|
-
id: 'enterprise_mfg',
|
|
390
|
-
label: 'Enterprise / Manufacturing',
|
|
391
|
-
description: 'Full modules with procurement, manufacturing, and inventory',
|
|
392
|
-
primaryMenus: [
|
|
393
|
-
{
|
|
394
|
-
id: 'inventory',
|
|
395
|
-
label: 'Inventory',
|
|
396
|
-
iconName: 'Warehouse',
|
|
397
|
-
secondaryItems: [
|
|
398
|
-
'inv__items', 'inv__categories', 'inv__units', 'inv__supplier_items',
|
|
399
|
-
'inv__documents', 'inv__warehouses', 'inv__lots', 'inv__stock_counts', 'inv__reservations',
|
|
400
|
-
'inv__inspection', 'inv__alerts', 'inv__opening_balances',
|
|
401
|
-
'inv__dashboard', 'inv__balances', 'inv__reports',
|
|
242
|
+
'sales__price_lists',
|
|
243
|
+
'sales__quotations', 'sales__orders', 'sales__goods_issue_notes',
|
|
244
|
+
'sales__returns', 'sales__credit_notes',
|
|
245
|
+
'sales__pos', 'sales__pos_sessions', 'sales__reports',
|
|
402
246
|
],
|
|
403
247
|
},
|
|
404
248
|
{
|
|
@@ -406,179 +250,36 @@ export const MENU_PRESETS: MenuPreset[] = [
|
|
|
406
250
|
label: 'Procurement',
|
|
407
251
|
iconName: 'Truck',
|
|
408
252
|
secondaryItems: [
|
|
409
|
-
'
|
|
410
|
-
'
|
|
411
|
-
],
|
|
412
|
-
},
|
|
413
|
-
{
|
|
414
|
-
id: 'manufacturing',
|
|
415
|
-
label: 'Manufacturing',
|
|
416
|
-
iconName: 'Factory',
|
|
417
|
-
secondaryItems: [
|
|
418
|
-
'mfg__bom', 'mfg__work_orders', 'mfg__routing', 'mfg__reports',
|
|
419
|
-
],
|
|
420
|
-
},
|
|
421
|
-
{
|
|
422
|
-
id: 'finance',
|
|
423
|
-
label: 'Finance',
|
|
424
|
-
iconName: 'Landmark',
|
|
425
|
-
secondaryItems: [
|
|
426
|
-
'fin__chart_of_accounts', 'fin__journal_entries',
|
|
427
|
-
'fin__bank_accounts', 'fin__reconciliation',
|
|
428
|
-
'fin__invoices', 'fin__payments', 'fin__reports',
|
|
429
|
-
],
|
|
430
|
-
},
|
|
431
|
-
{
|
|
432
|
-
id: 'hr',
|
|
433
|
-
label: 'HR',
|
|
434
|
-
iconName: 'Users',
|
|
435
|
-
secondaryItems: [
|
|
436
|
-
'hr__employees', 'hr__attendance', 'hr__payroll', 'hr__leave', 'hr__reports',
|
|
437
|
-
],
|
|
438
|
-
},
|
|
439
|
-
{
|
|
440
|
-
id: 'admin',
|
|
441
|
-
label: 'Admin',
|
|
442
|
-
iconName: 'Settings',
|
|
443
|
-
secondaryItems: [
|
|
444
|
-
'core__users', 'core__roles', 'core__organizations',
|
|
445
|
-
'core__activity_logs', 'core__menu_config',
|
|
446
|
-
],
|
|
447
|
-
},
|
|
448
|
-
],
|
|
449
|
-
},
|
|
450
|
-
{
|
|
451
|
-
id: 'services_company',
|
|
452
|
-
label: 'Services Company',
|
|
453
|
-
description: 'HR, finance, and client management for service businesses',
|
|
454
|
-
primaryMenus: [
|
|
455
|
-
{
|
|
456
|
-
id: 'clients',
|
|
457
|
-
label: 'Clients',
|
|
458
|
-
iconName: 'Handshake',
|
|
459
|
-
secondaryItems: [
|
|
460
|
-
'sales__customers', 'sales__quotations', 'sales__orders',
|
|
461
|
-
'sales__invoices', 'sales__reports',
|
|
462
|
-
],
|
|
463
|
-
},
|
|
464
|
-
{
|
|
465
|
-
id: 'team',
|
|
466
|
-
label: 'Team',
|
|
467
|
-
iconName: 'Users',
|
|
468
|
-
secondaryItems: [
|
|
469
|
-
'hr__employees', 'hr__attendance', 'hr__leave', 'hr__payroll', 'hr__reports',
|
|
253
|
+
'procurement__orders', 'procurement__grn',
|
|
254
|
+
'procurement__invoices', 'procurement__payments',
|
|
470
255
|
],
|
|
471
256
|
},
|
|
472
257
|
{
|
|
473
258
|
id: 'finance',
|
|
474
259
|
label: 'Finance',
|
|
475
|
-
iconName: '
|
|
476
|
-
secondaryItems: [
|
|
477
|
-
'fin__chart_of_accounts', 'fin__journal_entries',
|
|
478
|
-
'fin__invoices', 'fin__payments', 'fin__reports',
|
|
479
|
-
],
|
|
480
|
-
},
|
|
481
|
-
{
|
|
482
|
-
id: 'settings',
|
|
483
|
-
label: 'Settings',
|
|
484
|
-
iconName: 'Settings',
|
|
485
|
-
secondaryItems: [
|
|
486
|
-
'core__users', 'core__roles', 'core__organizations', 'core__menu_config',
|
|
487
|
-
],
|
|
488
|
-
},
|
|
489
|
-
],
|
|
490
|
-
},
|
|
491
|
-
{
|
|
492
|
-
id: 'jewelry_shop',
|
|
493
|
-
label: 'Jewelry Shop',
|
|
494
|
-
description: 'Specialized for jewelry retail with metal rates, stones, karigars, and custom orders',
|
|
495
|
-
primaryMenus: [
|
|
496
|
-
{
|
|
497
|
-
id: 'dashboard',
|
|
498
|
-
label: 'Dashboard',
|
|
499
|
-
iconName: 'LayoutDashboard',
|
|
260
|
+
iconName: 'Wallet',
|
|
500
261
|
secondaryItems: [
|
|
501
|
-
'
|
|
502
|
-
'
|
|
503
|
-
'
|
|
262
|
+
'finance__invoices', 'finance__payments',
|
|
263
|
+
'finance__chart_of_accounts', 'finance__journal_entries', 'finance__fiscal_years',
|
|
264
|
+
'finance__trial_balance', 'finance__profit_loss', 'finance__balance_sheet', 'finance__account_ledger',
|
|
265
|
+
'finance__payment_modes', 'finance__bank_accounts', 'finance__account_mappings',
|
|
504
266
|
],
|
|
505
267
|
},
|
|
506
268
|
{
|
|
507
|
-
id: '
|
|
508
|
-
label: '
|
|
269
|
+
id: 'jewelry',
|
|
270
|
+
label: 'Jewelry',
|
|
509
271
|
iconName: 'Gem',
|
|
510
272
|
secondaryItems: [
|
|
511
|
-
'
|
|
512
|
-
'
|
|
513
|
-
'
|
|
514
|
-
'
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
secondaryItems: [
|
|
522
|
-
'jwl__pos_sell', 'jwl__pos_sales',
|
|
523
|
-
'jwl__dealers', 'jwl__installments',
|
|
524
|
-
'jwl__vouchers', 'jwl__reservations',
|
|
525
|
-
'jwl__warranties', 'jwl__melting',
|
|
526
|
-
],
|
|
527
|
-
},
|
|
528
|
-
{
|
|
529
|
-
id: 'orders',
|
|
530
|
-
label: 'Orders',
|
|
531
|
-
iconName: 'ClipboardList',
|
|
532
|
-
secondaryItems: [
|
|
533
|
-
'jwl__custom_orders', 'jwl__repairs',
|
|
534
|
-
'jwl__karigars',
|
|
535
|
-
],
|
|
536
|
-
},
|
|
537
|
-
{
|
|
538
|
-
id: 'manufacturing',
|
|
539
|
-
label: 'Manufacturing',
|
|
540
|
-
iconName: 'Factory',
|
|
541
|
-
secondaryItems: [
|
|
542
|
-
'jwl__refinery', 'jwl__metal_issues', 'jwl__repositories',
|
|
543
|
-
],
|
|
544
|
-
},
|
|
545
|
-
{
|
|
546
|
-
id: 'procurement',
|
|
547
|
-
label: 'Procurement',
|
|
548
|
-
iconName: 'Truck',
|
|
549
|
-
secondaryItems: [
|
|
550
|
-
'jwl__purchase_pos', 'jwl__processing', 'jwl__purchase_returns',
|
|
551
|
-
'jwl__stone_procurement', 'jwl__consignment', 'jwl__procurement',
|
|
552
|
-
'purch__suppliers', 'purch__orders', 'purch__grn',
|
|
553
|
-
'purch__consignment', 'purch__settlements',
|
|
554
|
-
],
|
|
555
|
-
},
|
|
556
|
-
{
|
|
557
|
-
id: 'stock',
|
|
558
|
-
label: 'Stock',
|
|
559
|
-
iconName: 'Package',
|
|
560
|
-
secondaryItems: [
|
|
561
|
-
'inv__items', 'inv__documents', 'inv__warehouses', 'inv__lots',
|
|
562
|
-
'inv__alerts', 'inv__balances', 'inv__reports',
|
|
563
|
-
],
|
|
564
|
-
},
|
|
565
|
-
{
|
|
566
|
-
id: 'finance',
|
|
567
|
-
label: 'Finance',
|
|
568
|
-
iconName: 'Landmark',
|
|
569
|
-
secondaryItems: [
|
|
570
|
-
'fin__chart_of_accounts', 'fin__journal_entries',
|
|
571
|
-
'fin__customers', 'fin__vendors',
|
|
572
|
-
'fin__bank_accounts', 'fin__tax_codes',
|
|
573
|
-
],
|
|
574
|
-
},
|
|
575
|
-
{
|
|
576
|
-
id: 'settings',
|
|
577
|
-
label: 'Settings',
|
|
578
|
-
iconName: 'Settings',
|
|
579
|
-
secondaryItems: [
|
|
580
|
-
'core__users', 'core__roles', 'core__organizations', 'core__menu_config',
|
|
581
|
-
'jwl__repository_settings',
|
|
273
|
+
'jewelry__items', 'jewelry__categories',
|
|
274
|
+
'jewelry__material_types', 'jewelry__purities', 'jewelry__metal_rates',
|
|
275
|
+
'jewelry__purchase_orders', 'jewelry__grn', 'jewelry__custom_orders', 'jewelry__transformations',
|
|
276
|
+
'jewelry__old_gold_purchases',
|
|
277
|
+
'jewelry__sales', 'jewelry__sales_orders',
|
|
278
|
+
'jewelry__stock_balances', 'jewelry__stock_movements', 'jewelry__stock_transfers',
|
|
279
|
+
'jewelry__party_transactions',
|
|
280
|
+
'jewelry__karigar_scrap_returns',
|
|
281
|
+
'jewelry__reports',
|
|
282
|
+
'jewelry__settings',
|
|
582
283
|
],
|
|
583
284
|
},
|
|
584
285
|
],
|
|
@@ -593,7 +294,7 @@ export const APP_MENUS: MainMenuItem[] = [
|
|
|
593
294
|
{
|
|
594
295
|
id: "core",
|
|
595
296
|
label: "Core",
|
|
596
|
-
iconName: "Settings",
|
|
297
|
+
iconName: "Settings",
|
|
597
298
|
groups: [
|
|
598
299
|
{
|
|
599
300
|
id: "core_users",
|
|
@@ -602,6 +303,7 @@ export const APP_MENUS: MainMenuItem[] = [
|
|
|
602
303
|
{ id: "users", label: "Users", path: "/users" },
|
|
603
304
|
{ id: "roles", label: "Roles", path: "/roles" },
|
|
604
305
|
{ id: "organizations", label: "Organizations", path: "/organizations" },
|
|
306
|
+
{ id: "parties", label: "Parties", path: "/parties" },
|
|
605
307
|
],
|
|
606
308
|
},
|
|
607
309
|
{
|
|
@@ -609,6 +311,15 @@ export const APP_MENUS: MainMenuItem[] = [
|
|
|
609
311
|
label: "System",
|
|
610
312
|
items: [
|
|
611
313
|
{ id: "menu_config", label: "Menu Configuration", path: "/menu-config" },
|
|
314
|
+
{ id: "printables", label: "Printable Templates", path: "/system/printables" },
|
|
315
|
+
],
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
id: "core_resources",
|
|
319
|
+
label: "Resources",
|
|
320
|
+
items: [
|
|
321
|
+
{ id: "warehouses", label: "Warehouses", path: "/warehouses" },
|
|
322
|
+
{ id: "terminals", label: "Terminals", path: "/terminals" },
|
|
612
323
|
],
|
|
613
324
|
},
|
|
614
325
|
{
|
|
@@ -627,61 +338,33 @@ export const APP_MENUS: MainMenuItem[] = [
|
|
|
627
338
|
{
|
|
628
339
|
id: "inventory",
|
|
629
340
|
label: "Inventory",
|
|
630
|
-
iconName: "Package",
|
|
341
|
+
iconName: "Package",
|
|
631
342
|
groups: [
|
|
632
343
|
{
|
|
633
|
-
id: "
|
|
344
|
+
id: "inventory_catalog",
|
|
634
345
|
label: "Catalog",
|
|
635
346
|
items: [
|
|
636
347
|
{ id: "items", label: "Items", path: "/inventory/items" },
|
|
637
348
|
{ id: "categories", label: "Categories", path: "/inventory/categories" },
|
|
638
|
-
{ id: "
|
|
639
|
-
{ id: "
|
|
640
|
-
],
|
|
641
|
-
},
|
|
642
|
-
{
|
|
643
|
-
id: "inv_stock",
|
|
644
|
-
label: "Stock Control",
|
|
645
|
-
items: [
|
|
646
|
-
{ id: "documents", label: "Stock Documents", path: "/inventory/documents" },
|
|
647
|
-
{ id: "warehouses", label: "Warehouses", path: "/inventory/warehouses" },
|
|
648
|
-
{ id: "lots", label: "Lots & Serials", path: "/inventory/lots" },
|
|
649
|
-
{ id: "stock_counts", label: "Stock Counts", path: "/inventory/stock-counts" },
|
|
650
|
-
{ id: "reservations", label: "Reservations", path: "/inventory/reservations" },
|
|
651
|
-
],
|
|
652
|
-
},
|
|
653
|
-
{
|
|
654
|
-
id: "inv_transfers",
|
|
655
|
-
label: "Transfers",
|
|
656
|
-
items: [
|
|
657
|
-
{ id: "transfer_requests", label: "Transfer Requests", path: "/inventory/transfer-requests" },
|
|
658
|
-
{ id: "transfer_orders", label: "Transfer Orders", path: "/inventory/transfer-orders" },
|
|
349
|
+
{ id: "brands", label: "Brands", path: "/inventory/brands" },
|
|
350
|
+
{ id: "uom", label: "Units of Measure", path: "/inventory/uom" },
|
|
659
351
|
],
|
|
660
352
|
},
|
|
661
353
|
{
|
|
662
|
-
id: "
|
|
663
|
-
label: "
|
|
354
|
+
id: "inventory_stock",
|
|
355
|
+
label: "Stock",
|
|
664
356
|
items: [
|
|
665
|
-
{ id: "
|
|
666
|
-
{ id: "
|
|
357
|
+
{ id: "stock", label: "Stock Overview", path: "/inventory/stock" },
|
|
358
|
+
{ id: "ledger", label: "Stock Movements", path: "/inventory/ledger" },
|
|
667
359
|
],
|
|
668
360
|
},
|
|
669
361
|
{
|
|
670
|
-
id: "
|
|
362
|
+
id: "inventory_operations",
|
|
671
363
|
label: "Operations",
|
|
672
364
|
items: [
|
|
673
|
-
{ id: "
|
|
674
|
-
{ id: "
|
|
675
|
-
{ id: "
|
|
676
|
-
],
|
|
677
|
-
},
|
|
678
|
-
{
|
|
679
|
-
id: "inv_reports",
|
|
680
|
-
label: "Reports",
|
|
681
|
-
items: [
|
|
682
|
-
{ id: "dashboard", label: "Dashboard", path: "/inventory/dashboard" },
|
|
683
|
-
{ id: "balances", label: "Stock Balances", path: "/inventory/balances" },
|
|
684
|
-
{ id: "reports", label: "All Reports", path: "/inventory/reports" },
|
|
365
|
+
{ id: "adjustments", label: "Adjustments", path: "/inventory/adjustments" },
|
|
366
|
+
{ id: "transfers", label: "Transfers", path: "/inventory/transfers" },
|
|
367
|
+
{ id: "serials", label: "Serial Numbers", path: "/inventory/serials" },
|
|
685
368
|
],
|
|
686
369
|
},
|
|
687
370
|
],
|
|
@@ -692,164 +375,120 @@ export const APP_MENUS: MainMenuItem[] = [
|
|
|
692
375
|
iconName: "ShoppingCart",
|
|
693
376
|
groups: [
|
|
694
377
|
{
|
|
695
|
-
id: "
|
|
696
|
-
label: "
|
|
697
|
-
items: [
|
|
698
|
-
{ id: "pos_dashboard", label: "POS Dashboard", path: "/pos" },
|
|
699
|
-
{ id: "pos_sell", label: "Sell Screen", path: "/pos/sell" },
|
|
700
|
-
{ id: "pos_quick_sell", label: "Quick Sell", path: "/pos/quick-sell" },
|
|
701
|
-
],
|
|
702
|
-
},
|
|
703
|
-
{
|
|
704
|
-
id: "sales_pos_ops",
|
|
705
|
-
label: "POS Operations",
|
|
706
|
-
items: [
|
|
707
|
-
{ id: "pos_terminals", label: "Terminals", path: "/pos/terminals" },
|
|
708
|
-
{ id: "pos_sessions", label: "Sessions", path: "/pos/sessions" },
|
|
709
|
-
],
|
|
710
|
-
},
|
|
711
|
-
{
|
|
712
|
-
id: "sales_pos_transactions",
|
|
713
|
-
label: "POS Transactions",
|
|
714
|
-
items: [
|
|
715
|
-
{ id: "pos_invoices", label: "Invoices", path: "/pos/invoices" },
|
|
716
|
-
{ id: "pos_returns", label: "Returns", path: "/pos/returns" },
|
|
717
|
-
],
|
|
718
|
-
},
|
|
719
|
-
{
|
|
720
|
-
id: "sales_pos_reports",
|
|
721
|
-
label: "POS Reports",
|
|
378
|
+
id: "sales_master_data",
|
|
379
|
+
label: "Master Data",
|
|
722
380
|
items: [
|
|
723
|
-
{ id: "
|
|
381
|
+
{ id: "price_lists", label: "Price Lists", path: "/sales/price-lists" },
|
|
724
382
|
],
|
|
725
383
|
},
|
|
726
|
-
],
|
|
727
|
-
},
|
|
728
|
-
{
|
|
729
|
-
id: "finance",
|
|
730
|
-
label: "Finance",
|
|
731
|
-
iconName: "Landmark",
|
|
732
|
-
groups: [
|
|
733
384
|
{
|
|
734
|
-
id: "
|
|
735
|
-
label: "
|
|
385
|
+
id: "sales_orders",
|
|
386
|
+
label: "Orders",
|
|
736
387
|
items: [
|
|
737
|
-
{ id: "
|
|
738
|
-
{ id: "
|
|
388
|
+
{ id: "quotations", label: "Quotations", path: "/sales/quotations" },
|
|
389
|
+
{ id: "sales_orders", label: "Sales Orders", path: "/sales/orders" },
|
|
739
390
|
],
|
|
740
391
|
},
|
|
741
392
|
{
|
|
742
|
-
id: "
|
|
743
|
-
label: "
|
|
393
|
+
id: "sales_fulfillment",
|
|
394
|
+
label: "Fulfillment",
|
|
744
395
|
items: [
|
|
745
|
-
{ id: "
|
|
746
|
-
{ id: "fiscal_periods", label: "Fiscal Periods", path: "/finance/fiscal-periods" },
|
|
747
|
-
{ id: "journals", label: "Journal Entries", path: "/finance/journals" },
|
|
748
|
-
{ id: "gl_transactions", label: "GL Transactions", path: "/finance/gl-transactions" },
|
|
396
|
+
{ id: "goods_issue_notes", label: "Goods Issue Notes", path: "/sales/delivery-notes" },
|
|
749
397
|
],
|
|
750
398
|
},
|
|
751
399
|
{
|
|
752
|
-
id: "
|
|
753
|
-
label: "
|
|
400
|
+
id: "sales_post_sales",
|
|
401
|
+
label: "Post-Sales",
|
|
754
402
|
items: [
|
|
755
|
-
{ id: "
|
|
756
|
-
{ id: "
|
|
403
|
+
{ id: "returns", label: "Sales Returns", path: "/sales/returns" },
|
|
404
|
+
{ id: "credit_notes", label: "Credit Notes", path: "/sales/credit-notes" },
|
|
757
405
|
],
|
|
758
406
|
},
|
|
759
407
|
{
|
|
760
|
-
id: "
|
|
761
|
-
label: "
|
|
408
|
+
id: "sales_pos",
|
|
409
|
+
label: "POS",
|
|
762
410
|
items: [
|
|
763
|
-
{ id: "
|
|
764
|
-
{ id: "
|
|
411
|
+
{ id: "pos_terminal", label: "POS Terminal", path: "/sales/pos" },
|
|
412
|
+
{ id: "pos_sessions", label: "Terminal Sessions", path: "/sales/pos/sessions" },
|
|
765
413
|
],
|
|
766
414
|
},
|
|
767
415
|
{
|
|
768
|
-
id: "
|
|
769
|
-
label: "
|
|
416
|
+
id: "sales_analytics",
|
|
417
|
+
label: "Analytics",
|
|
770
418
|
items: [
|
|
771
|
-
{ id: "
|
|
772
|
-
{ id: "bank_transactions", label: "Bank Transactions", path: "/finance/bank/transactions" },
|
|
773
|
-
{ id: "bank_reconciliation", label: "Reconciliation", path: "/finance/bank/reconciliation" },
|
|
774
|
-
{ id: "cheques", label: "Cheque Management", path: "/finance/cheques" },
|
|
419
|
+
{ id: "sales_reports", label: "Sales Reports", path: "/sales/reports" },
|
|
775
420
|
],
|
|
776
421
|
},
|
|
422
|
+
],
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
id: "procurement",
|
|
426
|
+
label: "Procurement",
|
|
427
|
+
iconName: "Truck",
|
|
428
|
+
groups: [
|
|
777
429
|
{
|
|
778
|
-
id: "
|
|
779
|
-
label: "
|
|
430
|
+
id: "procurement_orders",
|
|
431
|
+
label: "Orders",
|
|
780
432
|
items: [
|
|
781
|
-
{ id: "
|
|
433
|
+
{ id: "purchase_orders", label: "Purchase Orders", path: "/procurement/orders" },
|
|
782
434
|
],
|
|
783
435
|
},
|
|
784
436
|
{
|
|
785
|
-
id: "
|
|
786
|
-
label: "
|
|
437
|
+
id: "procurement_receiving",
|
|
438
|
+
label: "Receiving",
|
|
787
439
|
items: [
|
|
788
|
-
{ id: "
|
|
789
|
-
{ id: "tax_returns", label: "Tax Returns", path: "/finance/tax/returns" },
|
|
440
|
+
{ id: "goods_receipt", label: "Goods Receipt", path: "/procurement/grns" },
|
|
790
441
|
],
|
|
791
442
|
},
|
|
792
443
|
{
|
|
793
|
-
id: "
|
|
794
|
-
label: "
|
|
444
|
+
id: "procurement_finance",
|
|
445
|
+
label: "Finance",
|
|
795
446
|
items: [
|
|
796
|
-
{ id: "
|
|
797
|
-
{ id: "
|
|
798
|
-
{ id: "events", label: "Accounting Events", path: "/finance/events" },
|
|
799
|
-
{ id: "reports", label: "Reports", path: "/finance/reports" },
|
|
800
|
-
{ id: "period_close", label: "Period Close", path: "/finance/period-close" },
|
|
447
|
+
{ id: "ap_invoices", label: "Invoices", path: "/finance/invoices" },
|
|
448
|
+
{ id: "outgoing_payments", label: "Payments", path: "/finance/payments" },
|
|
801
449
|
],
|
|
802
450
|
},
|
|
803
451
|
],
|
|
804
452
|
},
|
|
805
453
|
{
|
|
806
|
-
id: "
|
|
807
|
-
label: "
|
|
808
|
-
iconName: "
|
|
454
|
+
id: "finance",
|
|
455
|
+
label: "Finance",
|
|
456
|
+
iconName: "Wallet",
|
|
809
457
|
groups: [
|
|
810
458
|
{
|
|
811
|
-
id: "
|
|
812
|
-
label: "
|
|
813
|
-
items: [
|
|
814
|
-
{ id: "purch_dashboard", label: "Dashboard", path: "/procurement" },
|
|
815
|
-
],
|
|
816
|
-
},
|
|
817
|
-
{
|
|
818
|
-
id: "purch_suppliers",
|
|
819
|
-
label: "Suppliers",
|
|
459
|
+
id: "finance_transactions",
|
|
460
|
+
label: "Transactions",
|
|
820
461
|
items: [
|
|
821
|
-
{ id: "
|
|
822
|
-
|
|
823
|
-
},
|
|
824
|
-
{
|
|
825
|
-
id: "purch_purchasing",
|
|
826
|
-
label: "Purchasing",
|
|
827
|
-
items: [
|
|
828
|
-
{ id: "requisitions", label: "Requisitions", path: "/procurement/requisitions" },
|
|
829
|
-
{ id: "purchase_orders", label: "Purchase Orders", path: "/procurement/purchase-orders" },
|
|
462
|
+
{ id: "invoices", label: "Invoices", path: "/finance/invoices" },
|
|
463
|
+
{ id: "payments", label: "Payments", path: "/finance/payments" },
|
|
830
464
|
],
|
|
831
465
|
},
|
|
832
466
|
{
|
|
833
|
-
id: "
|
|
834
|
-
label: "
|
|
467
|
+
id: "finance_accounting",
|
|
468
|
+
label: "Accounting",
|
|
835
469
|
items: [
|
|
836
|
-
{ id: "
|
|
837
|
-
{ id: "
|
|
470
|
+
{ id: "chart_of_accounts", label: "Chart of Accounts", path: "/finance/chart-of-accounts" },
|
|
471
|
+
{ id: "journal_entries", label: "Journal Entries", path: "/finance/journal-entries" },
|
|
472
|
+
{ id: "fiscal_years", label: "Fiscal Years", path: "/finance/fiscal-years" },
|
|
838
473
|
],
|
|
839
474
|
},
|
|
840
475
|
{
|
|
841
|
-
id: "
|
|
842
|
-
label: "
|
|
476
|
+
id: "finance_reports",
|
|
477
|
+
label: "Reports",
|
|
843
478
|
items: [
|
|
844
|
-
{ id: "
|
|
479
|
+
{ id: "trial_balance", label: "Trial Balance", path: "/finance/reports/trial-balance" },
|
|
480
|
+
{ id: "profit_loss", label: "Profit & Loss", path: "/finance/reports/profit-loss" },
|
|
481
|
+
{ id: "balance_sheet", label: "Balance Sheet", path: "/finance/reports/balance-sheet" },
|
|
482
|
+
{ id: "account_ledger", label: "Account Ledger", path: "/finance/reports/account-ledger" },
|
|
845
483
|
],
|
|
846
484
|
},
|
|
847
485
|
{
|
|
848
|
-
id: "
|
|
849
|
-
label: "
|
|
486
|
+
id: "finance_settings",
|
|
487
|
+
label: "Settings",
|
|
850
488
|
items: [
|
|
851
|
-
{ id: "
|
|
852
|
-
{ id: "
|
|
489
|
+
{ id: "payment_modes", label: "Payment Modes", path: "/finance/payment-modes" },
|
|
490
|
+
{ id: "bank_accounts", label: "Bank Accounts", path: "/finance/bank-accounts" },
|
|
491
|
+
{ id: "account_mappings", label: "Account Mappings", path: "/finance/account-mappings" },
|
|
853
492
|
],
|
|
854
493
|
},
|
|
855
494
|
],
|
|
@@ -860,99 +499,108 @@ export const APP_MENUS: MainMenuItem[] = [
|
|
|
860
499
|
iconName: "Gem",
|
|
861
500
|
groups: [
|
|
862
501
|
{
|
|
863
|
-
id: "
|
|
864
|
-
label: "
|
|
502
|
+
id: "jewelry_catalog",
|
|
503
|
+
label: "Catalog",
|
|
865
504
|
items: [
|
|
866
|
-
{ id: "
|
|
867
|
-
{ id: "
|
|
505
|
+
{ id: "jewelry_items", label: "Jewelry Items", path: "/jewelry/items" },
|
|
506
|
+
{ id: "jewelry_services", label: "Services", path: "/jewelry/services" },
|
|
507
|
+
{ id: "jewelry_categories", label: "Categories", path: "/jewelry/categories" },
|
|
868
508
|
],
|
|
869
509
|
},
|
|
870
510
|
{
|
|
871
|
-
id: "
|
|
511
|
+
id: "jewelry_master_data",
|
|
872
512
|
label: "Master Data",
|
|
873
513
|
items: [
|
|
874
|
-
{ id: "
|
|
875
|
-
{ id: "
|
|
876
|
-
{ id: "
|
|
514
|
+
{ id: "material_types", label: "Material Types", path: "/jewelry/material-types" },
|
|
515
|
+
{ id: "purities", label: "Purities", path: "/jewelry/purities" },
|
|
516
|
+
{ id: "metal_rates", label: "Metal Rates", path: "/jewelry/metal-rates" },
|
|
877
517
|
],
|
|
878
518
|
},
|
|
879
519
|
{
|
|
880
|
-
id: "
|
|
881
|
-
label: "
|
|
520
|
+
id: "jewelry_procurement",
|
|
521
|
+
label: "Procurement",
|
|
882
522
|
items: [
|
|
883
|
-
{ id: "
|
|
884
|
-
{ id: "
|
|
885
|
-
{ id: "
|
|
523
|
+
{ id: "purchase_orders", label: "Purchase Orders", path: "/jewelry/procurement/orders" },
|
|
524
|
+
{ id: "goods_receipt", label: "Goods Receipt", path: "/jewelry/procurement/grn" },
|
|
525
|
+
{ id: "custom_orders", label: "Custom Orders", path: "/jewelry/custom-orders" },
|
|
526
|
+
{ id: "transformations", label: "Transformations", path: "/jewelry/procurement/transformations" },
|
|
886
527
|
],
|
|
887
528
|
},
|
|
888
529
|
{
|
|
889
|
-
id: "
|
|
890
|
-
label: "
|
|
530
|
+
id: "jewelry_buying",
|
|
531
|
+
label: "Buying",
|
|
891
532
|
items: [
|
|
892
|
-
{ id: "
|
|
893
|
-
{ id: "jwl_custom_orders", label: "Custom Orders", path: "/jewelry/custom-orders" },
|
|
894
|
-
{ id: "jwl_repairs", label: "Repairs", path: "/jewelry/repairs" },
|
|
895
|
-
{ id: "jwl_melting", label: "Old Gold / Melting", path: "/jewelry/melting" },
|
|
533
|
+
{ id: "old_gold_purchases", label: "Old Material Purchases", path: "/jewelry/old-gold-purchases" },
|
|
896
534
|
],
|
|
897
535
|
},
|
|
898
536
|
{
|
|
899
|
-
id: "
|
|
900
|
-
label: "
|
|
537
|
+
id: "jewelry_sales",
|
|
538
|
+
label: "Sales",
|
|
901
539
|
items: [
|
|
902
|
-
{ id: "
|
|
903
|
-
{ id: "
|
|
904
|
-
{ id: "jwl_designs", label: "Design Library", path: "/jewelry/designs" },
|
|
905
|
-
{ id: "jwl_repositories", label: "Metal Repositories", path: "/jewelry/repositories" },
|
|
540
|
+
{ id: "jewelry_sales_main", label: "Sales", path: "/jewelry/sales" },
|
|
541
|
+
{ id: "sales_orders", label: "Sales Orders", path: "/jewelry/sales/orders" },
|
|
906
542
|
],
|
|
907
543
|
},
|
|
908
544
|
{
|
|
909
|
-
id: "
|
|
910
|
-
label: "
|
|
545
|
+
id: "jewelry_stock",
|
|
546
|
+
label: "Stock",
|
|
911
547
|
items: [
|
|
912
|
-
{ id: "
|
|
913
|
-
{ id: "
|
|
914
|
-
{ id: "
|
|
915
|
-
{ id: "jwl_stone_procurement", label: "Stone Procurement", path: "/jewelry/stone-procurement" },
|
|
916
|
-
{ id: "jwl_consignment", label: "Consignment Stock", path: "/jewelry/consignment" },
|
|
917
|
-
{ id: "jwl_procurement_orders", label: "Purchase Orders", path: "/jewelry/procurement" },
|
|
548
|
+
{ id: "stock_balances", label: "Stock Balances", path: "/jewelry/stock/balances" },
|
|
549
|
+
{ id: "stock_movements", label: "Stock Movements", path: "/jewelry/stock/movements" },
|
|
550
|
+
{ id: "stock_transfers", label: "Transfers", path: "/jewelry/stock-transfers" },
|
|
918
551
|
],
|
|
919
552
|
},
|
|
920
553
|
{
|
|
921
|
-
id: "
|
|
922
|
-
label: "
|
|
554
|
+
id: "jewelry_karigar",
|
|
555
|
+
label: "Karigar",
|
|
923
556
|
items: [
|
|
924
|
-
{ id: "
|
|
925
|
-
{ id: "
|
|
926
|
-
{ id: "jwl_dealers", label: "Wholesale Dealers", path: "/jewelry/dealers" },
|
|
927
|
-
{ id: "jwl_installments", label: "Installments", path: "/jewelry/installments" },
|
|
928
|
-
{ id: "jwl_vouchers", label: "Gift Vouchers", path: "/jewelry/vouchers" },
|
|
929
|
-
{ id: "jwl_reservations", label: "Reservations", path: "/jewelry/reservations" },
|
|
930
|
-
{ id: "jwl_warranties", label: "Warranties", path: "/jewelry/warranties" },
|
|
557
|
+
{ id: "party_transactions", label: "Party Transactions", path: "/jewelry/party-transactions" },
|
|
558
|
+
{ id: "karigar_scrap_returns", label: "Karigar Dust Returns", path: "/jewelry/karigar-scrap-returns" },
|
|
931
559
|
],
|
|
932
560
|
},
|
|
933
561
|
{
|
|
934
|
-
id: "
|
|
935
|
-
label: "
|
|
562
|
+
id: "jewelry_analytics",
|
|
563
|
+
label: "Analytics",
|
|
936
564
|
items: [
|
|
937
|
-
{ id: "
|
|
565
|
+
{ id: "jewelry_reports", label: "Reports & Dashboards", path: "/reports/jewelry" },
|
|
938
566
|
],
|
|
939
567
|
},
|
|
940
568
|
{
|
|
941
|
-
id: "
|
|
942
|
-
label: "
|
|
569
|
+
id: "jewelry_configuration",
|
|
570
|
+
label: "Configuration",
|
|
571
|
+
items: [
|
|
572
|
+
{ id: "jewelry_settings", label: "Settings", path: "/jewelry/settings" },
|
|
573
|
+
],
|
|
574
|
+
},
|
|
575
|
+
],
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
id: "reports",
|
|
579
|
+
label: "Reports",
|
|
580
|
+
iconName: "BarChart3",
|
|
581
|
+
groups: [
|
|
582
|
+
{
|
|
583
|
+
id: "reports_dashboards",
|
|
584
|
+
label: "Dashboards",
|
|
585
|
+
items: [
|
|
586
|
+
{ id: "reports_jewelry", label: "Jewelry", path: "/reports/jewelry" },
|
|
587
|
+
{ id: "reports_inventory", label: "Inventory", path: "/reports/inventory" },
|
|
588
|
+
{ id: "reports_finance", label: "Finance", path: "/reports/finance" },
|
|
589
|
+
],
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
id: "reports_home",
|
|
593
|
+
label: "General",
|
|
943
594
|
items: [
|
|
944
|
-
{ id: "
|
|
595
|
+
{ id: "reports_all", label: "All Reports", path: "/reports" },
|
|
945
596
|
],
|
|
946
597
|
},
|
|
947
598
|
{
|
|
948
|
-
id: "
|
|
949
|
-
label: "
|
|
599
|
+
id: "reports_admin",
|
|
600
|
+
label: "Administration",
|
|
950
601
|
items: [
|
|
951
|
-
{ id: "
|
|
952
|
-
{ id: "
|
|
953
|
-
{ id: "ai_anomalies", label: "Anomalies", path: "/jewelry/ai/anomalies" },
|
|
954
|
-
{ id: "ai_predictions", label: "Predictions", path: "/jewelry/ai/predictions" },
|
|
955
|
-
{ id: "ai_usage", label: "Usage", path: "/jewelry/ai/usage" },
|
|
602
|
+
{ id: "reports_builder", label: "Report Builder", path: "/reports/admin/reports" },
|
|
603
|
+
{ id: "reports_configurator", label: "Dashboard Configurator", path: "/reports/admin/dashboards" },
|
|
956
604
|
],
|
|
957
605
|
},
|
|
958
606
|
],
|