shutro-erp 0.3.4 → 0.3.5
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/dist/account_portal/.kosh/bindings.js +1 -1
- package/dist/account_portal/.kosh/schema.d.ts +54 -3
- package/dist/account_portal/module.d.ts +359 -6
- package/dist/accounting/.kosh/bindings.js +1 -1
- package/dist/accounting/.kosh/schema.d.ts +54 -3
- package/dist/accounting/index.js +214 -2
- package/dist/accounting/module.d.ts +217 -5
- package/dist/accounting/module.js +23 -2
- package/dist/calendar/.kosh/bindings.d.ts +22 -0
- package/dist/calendar/.kosh/bindings.js +15 -0
- package/dist/calendar/.kosh/schema.d.ts +795 -0
- package/dist/calendar/demo.d.ts +6 -0
- package/dist/calendar/demo.js +24 -0
- package/dist/calendar/index.d.ts +3 -0
- package/dist/calendar/index.js +291 -0
- package/dist/calendar/module.d.ts +1705 -0
- package/dist/calendar/module.js +180 -0
- package/dist/cli/init.js +48 -0
- package/dist/cli/templates.d.ts +1 -1
- package/dist/cli/templates.js +137 -0
- package/dist/contacts/.kosh/bindings.js +1 -1
- package/dist/contacts/.kosh/schema.d.ts +78 -3
- package/dist/contacts/demo.js +30 -1
- package/dist/contacts/index.d.ts +1 -1
- package/dist/contacts/index.js +155 -9
- package/dist/contacts/module.d.ts +338 -2
- package/dist/contacts/module.js +82 -5
- package/dist/crm/.kosh/bindings.d.ts +22 -0
- package/dist/crm/.kosh/bindings.js +15 -0
- package/dist/crm/.kosh/schema.d.ts +799 -0
- package/dist/crm/demo.d.ts +6 -0
- package/dist/crm/demo.js +45 -0
- package/dist/crm/index.d.ts +3 -0
- package/dist/crm/index.js +361 -0
- package/dist/crm/module.d.ts +1843 -0
- package/dist/crm/module.js +207 -0
- package/dist/event/.kosh/bindings.d.ts +22 -0
- package/dist/event/.kosh/bindings.js +15 -0
- package/dist/event/.kosh/schema.d.ts +843 -0
- package/dist/event/demo.d.ts +6 -0
- package/dist/event/demo.js +65 -0
- package/dist/event/index.d.ts +14 -0
- package/dist/event/index.js +333 -0
- package/dist/event/mails.d.ts +15 -0
- package/dist/event/mails.js +112 -0
- package/dist/event/module.d.ts +2800 -0
- package/dist/event/module.js +323 -0
- package/dist/event/web/CheckInBox.d.ts +9 -0
- package/dist/event/web/CheckInBox.js +87 -0
- package/dist/event/web/index.d.ts +11 -0
- package/dist/event/web/index.js +16 -0
- package/dist/event/web/messages.d.ts +2 -0
- package/dist/event/web/messages.js +23 -0
- package/dist/event_account/.kosh/bindings.d.ts +22 -0
- package/dist/event_account/.kosh/bindings.js +15 -0
- package/dist/event_account/.kosh/schema.d.ts +1639 -0
- package/dist/event_account/index.d.ts +3 -0
- package/dist/event_account/index.js +28 -0
- package/dist/event_account/module.d.ts +6968 -0
- package/dist/event_account/module.js +90 -0
- package/dist/hr/.kosh/bindings.d.ts +22 -0
- package/dist/hr/.kosh/bindings.js +15 -0
- package/dist/hr/.kosh/schema.d.ts +878 -0
- package/dist/hr/demo.d.ts +6 -0
- package/dist/hr/demo.js +60 -0
- package/dist/hr/index.d.ts +3 -0
- package/dist/hr/index.js +483 -0
- package/dist/hr/module.d.ts +2611 -0
- package/dist/hr/module.js +350 -0
- package/dist/l10n_bd/.kosh/bindings.js +1 -1
- package/dist/l10n_bd/.kosh/schema.d.ts +54 -3
- package/dist/l10n_bd/module.d.ts +359 -6
- package/dist/l10n_in/.kosh/bindings.js +1 -1
- package/dist/l10n_in/.kosh/schema.d.ts +54 -3
- package/dist/l10n_in/module.d.ts +380 -7
- package/dist/maintenance/.kosh/bindings.d.ts +22 -0
- package/dist/maintenance/.kosh/bindings.js +15 -0
- package/dist/maintenance/.kosh/schema.d.ts +911 -0
- package/dist/maintenance/demo.d.ts +6 -0
- package/dist/maintenance/demo.js +60 -0
- package/dist/maintenance/index.d.ts +3 -0
- package/dist/maintenance/index.js +422 -0
- package/dist/maintenance/module.d.ts +3545 -0
- package/dist/maintenance/module.js +446 -0
- package/dist/maintenance_stock/.kosh/bindings.d.ts +22 -0
- package/dist/maintenance_stock/.kosh/bindings.js +15 -0
- package/dist/maintenance_stock/.kosh/schema.d.ts +1371 -0
- package/dist/maintenance_stock/index.d.ts +9 -0
- package/dist/maintenance_stock/index.js +52 -0
- package/dist/maintenance_stock/module.d.ts +6953 -0
- package/dist/maintenance_stock/module.js +192 -0
- package/dist/modules-sdk/index.d.ts +1 -1
- package/dist/modules-sdk/manifest.d.ts +70 -0
- package/dist/modules-sdk/manifest.js +35 -1
- package/dist/mrp/.kosh/bindings.d.ts +22 -0
- package/dist/mrp/.kosh/bindings.js +15 -0
- package/dist/mrp/.kosh/schema.d.ts +1378 -0
- package/dist/mrp/demo.d.ts +7 -0
- package/dist/mrp/demo.js +42 -0
- package/dist/mrp/index.d.ts +3 -0
- package/dist/mrp/index.js +392 -0
- package/dist/mrp/module.d.ts +8608 -0
- package/dist/mrp/module.js +695 -0
- package/dist/mrp_account/.kosh/bindings.d.ts +22 -0
- package/dist/mrp_account/.kosh/bindings.js +15 -0
- package/dist/mrp_account/.kosh/schema.d.ts +2106 -0
- package/dist/mrp_account/index.d.ts +3 -0
- package/dist/mrp_account/index.js +22 -0
- package/dist/mrp_account/module.d.ts +20840 -0
- package/dist/mrp_account/module.js +123 -0
- package/dist/payment/.kosh/bindings.js +1 -1
- package/dist/payment/.kosh/schema.d.ts +54 -3
- package/dist/payment/module.d.ts +359 -6
- package/dist/portal/.kosh/bindings.js +1 -1
- package/dist/portal/.kosh/schema.d.ts +78 -3
- package/dist/portal/module.d.ts +166 -2
- package/dist/pos/.kosh/bindings.d.ts +22 -0
- package/dist/pos/.kosh/bindings.js +15 -0
- package/dist/pos/.kosh/schema.d.ts +1690 -0
- package/dist/pos/accounting.d.ts +10 -0
- package/dist/pos/accounting.js +149 -0
- package/dist/pos/demo.d.ts +6 -0
- package/dist/pos/demo.js +90 -0
- package/dist/pos/index.d.ts +9 -0
- package/dist/pos/index.js +349 -0
- package/dist/pos/module.d.ts +9636 -0
- package/dist/pos/module.js +423 -0
- package/dist/pos/routes.d.ts +39 -0
- package/dist/pos/routes.js +368 -0
- package/dist/pos/web/Register.d.ts +9 -0
- package/dist/pos/web/Register.js +252 -0
- package/dist/pos/web/index.d.ts +11 -0
- package/dist/pos/web/index.js +16 -0
- package/dist/pos/web/messages.d.ts +2 -0
- package/dist/pos/web/messages.js +87 -0
- package/dist/pos_stock/.kosh/bindings.d.ts +22 -0
- package/dist/pos_stock/.kosh/bindings.js +15 -0
- package/dist/pos_stock/.kosh/schema.d.ts +2015 -0
- package/dist/pos_stock/index.d.ts +9 -0
- package/dist/pos_stock/index.js +35 -0
- package/dist/pos_stock/module.d.ts +11935 -0
- package/dist/pos_stock/module.js +115 -0
- package/dist/product/.kosh/bindings.js +1 -1
- package/dist/product/.kosh/schema.d.ts +51 -1
- package/dist/product/index.js +81 -4
- package/dist/product/module.d.ts +43 -1
- package/dist/product/module.js +9 -2
- package/dist/project/.kosh/bindings.js +1 -1
- package/dist/project/.kosh/schema.d.ts +54 -3
- package/dist/project/index.js +147 -7
- package/dist/project/module.d.ts +210 -2
- package/dist/project/module.js +52 -5
- package/dist/project_portal/.kosh/bindings.js +1 -1
- package/dist/project_portal/.kosh/schema.d.ts +54 -3
- package/dist/project_portal/module.d.ts +353 -4
- package/dist/purchase/.kosh/bindings.js +1 -1
- package/dist/purchase/.kosh/schema.d.ts +54 -3
- package/dist/purchase/index.js +163 -3
- package/dist/purchase/module.d.ts +215 -3
- package/dist/purchase/module.js +21 -3
- package/dist/purchase_account/.kosh/bindings.js +1 -1
- package/dist/purchase_account/.kosh/schema.d.ts +55 -3
- package/dist/purchase_account/index.js +26 -1
- package/dist/purchase_account/module.d.ts +393 -7
- package/dist/purchase_portal/.kosh/bindings.js +1 -1
- package/dist/purchase_portal/.kosh/schema.d.ts +54 -3
- package/dist/purchase_portal/module.d.ts +366 -5
- package/dist/purchase_stock/.kosh/bindings.d.ts +22 -0
- package/dist/purchase_stock/.kosh/bindings.js +15 -0
- package/dist/purchase_stock/.kosh/schema.d.ts +1310 -0
- package/dist/purchase_stock/index.d.ts +7 -0
- package/dist/purchase_stock/index.js +91 -0
- package/dist/purchase_stock/module.d.ts +6763 -0
- package/dist/purchase_stock/module.js +144 -0
- package/dist/purchase_stock_account/.kosh/bindings.d.ts +22 -0
- package/dist/purchase_stock_account/.kosh/bindings.js +15 -0
- package/dist/purchase_stock_account/.kosh/schema.d.ts +1959 -0
- package/dist/purchase_stock_account/index.d.ts +3 -0
- package/dist/purchase_stock_account/index.js +24 -0
- package/dist/purchase_stock_account/module.d.ts +35366 -0
- package/dist/purchase_stock_account/module.js +162 -0
- package/dist/recruitment/.kosh/bindings.d.ts +22 -0
- package/dist/recruitment/.kosh/bindings.js +15 -0
- package/dist/recruitment/.kosh/schema.d.ts +990 -0
- package/dist/recruitment/demo.d.ts +6 -0
- package/dist/recruitment/demo.js +45 -0
- package/dist/recruitment/index.d.ts +3 -0
- package/dist/recruitment/index.js +385 -0
- package/dist/recruitment/module.d.ts +3247 -0
- package/dist/recruitment/module.js +193 -0
- package/dist/recruitment/web/HireButton.d.ts +9 -0
- package/dist/recruitment/web/HireButton.js +32 -0
- package/dist/recruitment/web/index.d.ts +11 -0
- package/dist/recruitment/web/index.js +16 -0
- package/dist/recruitment/web/messages.d.ts +2 -0
- package/dist/recruitment/web/messages.js +19 -0
- package/dist/reporting/documents.d.ts +5 -0
- package/dist/reporting/documents.js +28 -1
- package/dist/reporting/index.d.ts +1 -1
- package/dist/reporting/index.js +4 -2
- package/dist/reporting/models.js +9 -0
- package/dist/reporting/overviews.d.ts +16 -0
- package/dist/reporting/overviews.js +56 -0
- package/dist/reporting/routes-documents.js +1 -1
- package/dist/reporting/routes.js +138 -80
- package/dist/reporting/web/DashboardView.d.ts +11 -0
- package/dist/reporting/web/DashboardView.js +2 -2
- package/dist/reporting/web/DesignerView.js +5 -0
- package/dist/reporting/web/Overview.d.ts +9 -0
- package/dist/reporting/web/Overview.js +53 -0
- package/dist/reporting/web/index.d.ts +1 -0
- package/dist/reporting/web/index.js +4 -1
- package/dist/reporting/web/messages.js +9 -0
- package/dist/sale_account/.kosh/bindings.js +1 -1
- package/dist/sale_account/.kosh/schema.d.ts +59 -3
- package/dist/sale_account/index.js +22 -1
- package/dist/sale_account/module.d.ts +461 -7
- package/dist/sale_portal/.kosh/bindings.js +1 -1
- package/dist/sale_portal/.kosh/schema.d.ts +58 -3
- package/dist/sale_portal/module.d.ts +434 -5
- package/dist/sale_project/.kosh/bindings.js +1 -1
- package/dist/sale_project/.kosh/schema.d.ts +60 -3
- package/dist/sale_project/module.d.ts +476 -6
- package/dist/sale_stock/.kosh/bindings.d.ts +22 -0
- package/dist/sale_stock/.kosh/bindings.js +15 -0
- package/dist/sale_stock/.kosh/schema.d.ts +1228 -0
- package/dist/sale_stock/index.d.ts +7 -0
- package/dist/sale_stock/index.js +84 -0
- package/dist/sale_stock/module.d.ts +6791 -0
- package/dist/sale_stock/module.js +146 -0
- package/dist/sales/.kosh/bindings.js +1 -1
- package/dist/sales/.kosh/schema.d.ts +58 -3
- package/dist/sales/index.js +191 -4
- package/dist/sales/module.d.ts +355 -3
- package/dist/sales/module.js +78 -3
- package/dist/server/api/metadata.d.ts +5 -0
- package/dist/server/api/metadata.js +5 -0
- package/dist/server/api/rest.js +64 -1
- package/dist/server/api/views.js +1 -0
- package/dist/server/app-settings.d.ts +7 -0
- package/dist/server/app-settings.js +10 -0
- package/dist/server/auth/base.js +9 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +1 -0
- package/dist/settings/app-settings.d.ts +2 -0
- package/dist/settings/app-settings.js +518 -0
- package/dist/settings/index.d.ts +1 -0
- package/dist/settings/index.js +15 -0
- package/dist/settings/people.js +29 -5
- package/dist/settings/web/AppSettingsPage.d.ts +11 -0
- package/dist/settings/web/AppSettingsPage.js +210 -0
- package/dist/settings/web/OverviewPage.js +16 -3
- package/dist/settings/web/PeoplePage.js +20 -6
- package/dist/settings/web/index.d.ts +1 -0
- package/dist/settings/web/index.js +3 -0
- package/dist/settings/web/messages.js +118 -2
- package/dist/stock/.kosh/bindings.d.ts +22 -0
- package/dist/stock/.kosh/bindings.js +15 -0
- package/dist/stock/.kosh/schema.d.ts +1147 -0
- package/dist/stock/demo.d.ts +7 -0
- package/dist/stock/demo.js +55 -0
- package/dist/stock/index.d.ts +3 -0
- package/dist/stock/index.js +674 -0
- package/dist/stock/module.d.ts +6330 -0
- package/dist/stock/module.js +1325 -0
- package/dist/stock/web/ScanBox.d.ts +8 -0
- package/dist/stock/web/ScanBox.js +90 -0
- package/dist/stock/web/index.d.ts +11 -0
- package/dist/stock/web/index.js +16 -0
- package/dist/stock/web/messages.d.ts +2 -0
- package/dist/stock/web/messages.js +25 -0
- package/dist/stock_account/.kosh/bindings.d.ts +22 -0
- package/dist/stock_account/.kosh/bindings.js +15 -0
- package/dist/stock_account/.kosh/schema.d.ts +1875 -0
- package/dist/stock_account/index.d.ts +3 -0
- package/dist/stock_account/index.js +130 -0
- package/dist/stock_account/module.d.ts +10655 -0
- package/dist/stock_account/module.js +339 -0
- package/dist/storage/attachments.d.ts +5 -0
- package/dist/storage/attachments.js +12 -1
- package/dist/storage/models.js +3 -0
- package/dist/storage/routes.js +13 -2
- package/dist/todo/.kosh/bindings.d.ts +22 -0
- package/dist/todo/.kosh/bindings.js +15 -0
- package/dist/todo/.kosh/schema.d.ts +732 -0
- package/dist/todo/demo.d.ts +6 -0
- package/dist/todo/demo.js +35 -0
- package/dist/todo/index.d.ts +3 -0
- package/dist/todo/index.js +187 -0
- package/dist/todo/module.d.ts +1180 -0
- package/dist/todo/module.js +130 -0
- package/dist/trade_finance/.kosh/bindings.d.ts +22 -0
- package/dist/trade_finance/.kosh/bindings.js +15 -0
- package/dist/trade_finance/.kosh/schema.d.ts +884 -0
- package/dist/trade_finance/demo.d.ts +6 -0
- package/dist/trade_finance/demo.js +63 -0
- package/dist/trade_finance/index.d.ts +3 -0
- package/dist/trade_finance/index.js +413 -0
- package/dist/trade_finance/module.d.ts +3779 -0
- package/dist/trade_finance/module.js +505 -0
- package/dist/trade_finance_account/.kosh/bindings.d.ts +22 -0
- package/dist/trade_finance_account/.kosh/bindings.js +15 -0
- package/dist/trade_finance_account/.kosh/schema.d.ts +1711 -0
- package/dist/trade_finance_account/index.d.ts +3 -0
- package/dist/trade_finance_account/index.js +92 -0
- package/dist/trade_finance_account/module.d.ts +7928 -0
- package/dist/trade_finance_account/module.js +244 -0
- package/dist/trade_finance_purchase/.kosh/bindings.d.ts +22 -0
- package/dist/trade_finance_purchase/.kosh/bindings.js +15 -0
- package/dist/trade_finance_purchase/.kosh/schema.d.ts +1153 -0
- package/dist/trade_finance_purchase/index.d.ts +8 -0
- package/dist/trade_finance_purchase/index.js +50 -0
- package/dist/trade_finance_purchase/module.d.ts +4252 -0
- package/dist/trade_finance_purchase/module.js +44 -0
- package/dist/trade_finance_sale/.kosh/bindings.d.ts +22 -0
- package/dist/trade_finance_sale/.kosh/bindings.js +15 -0
- package/dist/trade_finance_sale/.kosh/schema.d.ts +1071 -0
- package/dist/trade_finance_sale/index.d.ts +8 -0
- package/dist/trade_finance_sale/index.js +50 -0
- package/dist/trade_finance_sale/module.d.ts +4280 -0
- package/dist/trade_finance_sale/module.js +44 -0
- package/dist/ui/api.d.ts +2 -1
- package/dist/ui/api.js +2 -1
- package/dist/ui/app.js +2 -1
- package/dist/ui/components/AppIcon.js +23 -1
- package/dist/ui/components/primitives.d.ts +2 -0
- package/dist/ui/components/primitives.js +7 -1
- package/dist/ui/i18n/messages.d.ts +23 -0
- package/dist/ui/i18n/messages.js +38 -0
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.js +1 -0
- package/dist/ui/offline/queue.d.ts +5 -1
- package/dist/ui/offline/queue.js +2 -0
- package/dist/ui/registry.d.ts +5 -0
- package/dist/ui/shell/Home.js +55 -4
- package/dist/ui/views/FormView.js +98 -17
- package/dist/ui/views/KanbanView.d.ts +2 -0
- package/dist/ui/views/KanbanView.js +32 -3
- package/dist/ui/views/ListView.js +108 -11
- package/dist/ui/views/StatsRow.d.ts +14 -0
- package/dist/ui/views/StatsRow.js +88 -0
- package/dist/ui/views/widgets.d.ts +2 -1
- package/dist/ui/views/widgets.js +194 -1
- package/dist/views/builders.d.ts +19 -2
- package/dist/views/builders.js +21 -1
- package/dist/views/condition.d.ts +6 -0
- package/dist/views/condition.js +20 -0
- package/dist/views/documents.d.ts +8 -0
- package/dist/views/extend.d.ts +2 -2
- package/dist/views/extend.js +11 -1
- package/dist/views/index.d.ts +2 -2
- package/dist/views/index.js +2 -2
- package/dist/views/types.d.ts +52 -5
- package/dist/views/validate.js +39 -1
- package/dist/website/.kosh/bindings.d.ts +22 -0
- package/dist/website/.kosh/bindings.js +15 -0
- package/dist/website/.kosh/schema.d.ts +881 -0
- package/dist/website/demo.d.ts +6 -0
- package/dist/website/demo.js +115 -0
- package/dist/website/index.d.ts +9 -0
- package/dist/website/index.js +250 -0
- package/dist/website/module.d.ts +2987 -0
- package/dist/website/module.js +281 -0
- package/dist/website/render.d.ts +45 -0
- package/dist/website/render.js +102 -0
- package/dist/website/routes.d.ts +12 -0
- package/dist/website/routes.js +246 -0
- package/dist/website/web/PagePreview.d.ts +7 -0
- package/dist/website/web/PagePreview.js +33 -0
- package/dist/website/web/index.d.ts +11 -0
- package/dist/website/web/index.js +16 -0
- package/dist/website/web/messages.d.ts +2 -0
- package/dist/website/web/messages.js +15 -0
- package/dist/website_crm/.kosh/bindings.d.ts +22 -0
- package/dist/website_crm/.kosh/bindings.js +15 -0
- package/dist/website_crm/.kosh/schema.d.ts +966 -0
- package/dist/website_crm/index.d.ts +3 -0
- package/dist/website_crm/index.js +39 -0
- package/dist/website_crm/module.d.ts +2955 -0
- package/dist/website_crm/module.js +44 -0
- package/package.json +118 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash:
|
|
1
|
+
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: ed4aa028c6a6d3e3
|
|
2
2
|
// Schema view of module `accounting` (RFC 0002 §7.7): the models it owns or depends on, with the extensions it can see.
|
|
3
3
|
import type { F } from '../../server/orm.js';
|
|
4
4
|
|
|
@@ -30,6 +30,7 @@ export interface SchemaView {
|
|
|
30
30
|
readonly 'auth.user_group': AuthUserGroup;
|
|
31
31
|
readonly 'kosh.image': KoshImage;
|
|
32
32
|
readonly 'kosh.saved_view': KoshSavedView;
|
|
33
|
+
readonly 'kosh.setting': KoshSetting;
|
|
33
34
|
readonly 'mail.activity': MailActivity;
|
|
34
35
|
readonly 'mail.activity.type': MailActivityType;
|
|
35
36
|
readonly 'mail.channel': MailChannel;
|
|
@@ -53,6 +54,7 @@ export interface SchemaView {
|
|
|
53
54
|
readonly 'res.currency': ResCurrency;
|
|
54
55
|
readonly 'res.currency.rate': ResCurrencyRate;
|
|
55
56
|
readonly 'res.partner': ResPartner;
|
|
57
|
+
readonly 'res.partner.tag': ResPartnerTag;
|
|
56
58
|
readonly 'res.users': ResUsers;
|
|
57
59
|
readonly 'storage.attachment': StorageAttachment;
|
|
58
60
|
readonly 'uom.uom': UomUom;
|
|
@@ -776,6 +778,26 @@ export interface KoshSavedView {
|
|
|
776
778
|
export interface KoshSavedViewMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.saved_view'> {
|
|
777
779
|
}
|
|
778
780
|
|
|
781
|
+
/** `kosh.setting` (owner: base). */
|
|
782
|
+
export interface KoshSetting {
|
|
783
|
+
readonly name: 'kosh.setting';
|
|
784
|
+
readonly fields: {
|
|
785
|
+
readonly id: F.Id<'kosh.setting'>;
|
|
786
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
787
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
788
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
789
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
790
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
791
|
+
readonly key: F.Char<{ readonly required: true }>;
|
|
792
|
+
readonly value: F.Json;
|
|
793
|
+
};
|
|
794
|
+
readonly methods: KoshSettingMethods;
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
/** Methods of `kosh.setting`: declared ones and transitions. */
|
|
798
|
+
export interface KoshSettingMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.setting'> {
|
|
799
|
+
}
|
|
800
|
+
|
|
779
801
|
/** `mail.activity` (owner: messaging). */
|
|
780
802
|
export interface MailActivity {
|
|
781
803
|
readonly name: 'mail.activity';
|
|
@@ -1090,6 +1112,7 @@ export interface ProductProduct {
|
|
|
1090
1112
|
readonly category: F.Many2one<'product.category'>;
|
|
1091
1113
|
readonly uom: F.Many2one<'uom.uom'>;
|
|
1092
1114
|
readonly barcode: F.Char;
|
|
1115
|
+
readonly image: F.Many2one<'storage.attachment'>;
|
|
1093
1116
|
readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1094
1117
|
readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1095
1118
|
readonly saleOk: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
@@ -1120,6 +1143,7 @@ export interface ReportDashboard {
|
|
|
1120
1143
|
readonly name: F.Char<{ readonly required: true }>;
|
|
1121
1144
|
readonly items: F.Json<unknown, { readonly required: true; readonly default: true }>;
|
|
1122
1145
|
readonly shared: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1146
|
+
readonly key: F.Char;
|
|
1123
1147
|
};
|
|
1124
1148
|
readonly methods: ReportDashboardMethods;
|
|
1125
1149
|
}
|
|
@@ -1260,7 +1284,7 @@ export interface ResBankAccount {
|
|
|
1260
1284
|
export interface ResBankAccountMethods extends F.Methods<typeof import('../module.js').accountingShutro, 'res.bank.account'> {
|
|
1261
1285
|
}
|
|
1262
1286
|
|
|
1263
|
-
/** `res.company` (owner: base; extended by: accounting). */
|
|
1287
|
+
/** `res.company` (owner: base; extended by: contacts, accounting). */
|
|
1264
1288
|
export interface ResCompany {
|
|
1265
1289
|
readonly name: 'res.company';
|
|
1266
1290
|
readonly fields: {
|
|
@@ -1280,6 +1304,8 @@ export interface ResCompany {
|
|
|
1280
1304
|
readonly email: F.Char;
|
|
1281
1305
|
readonly phone: F.Char;
|
|
1282
1306
|
readonly website: F.Char;
|
|
1307
|
+
readonly contactTaxIdRequired: F.Bool<{ readonly required: true; readonly default: true }>; // contacts
|
|
1308
|
+
readonly contactUniqueEmail: F.Bool<{ readonly required: true; readonly default: true }>; // contacts
|
|
1283
1309
|
readonly fiscalYearStart: F.Integer<{ readonly required: true; readonly default: true }>; // accounting
|
|
1284
1310
|
readonly chartTemplate: F.Char; // accounting
|
|
1285
1311
|
readonly country: F.Char; // accounting
|
|
@@ -1296,7 +1322,7 @@ export interface ResCompany {
|
|
|
1296
1322
|
}
|
|
1297
1323
|
|
|
1298
1324
|
/** Methods of `res.company`: declared ones and transitions. */
|
|
1299
|
-
export interface ResCompanyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'res.company'>, F.Methods<typeof import('../module.js').accountingShutro, 'res.company'> {
|
|
1325
|
+
export interface ResCompanyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'res.company'>, F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.company'>, F.Methods<typeof import('../module.js').accountingShutro, 'res.company'> {
|
|
1300
1326
|
}
|
|
1301
1327
|
|
|
1302
1328
|
/** `res.currency` (owner: base). */
|
|
@@ -1355,6 +1381,10 @@ export interface ResPartner {
|
|
|
1355
1381
|
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1356
1382
|
readonly company: F.Many2one<'res.company', { readonly default: true }>;
|
|
1357
1383
|
readonly name: F.Char<{ readonly required: true }>;
|
|
1384
|
+
readonly image: F.Many2one<'storage.attachment'>;
|
|
1385
|
+
readonly tags: F.Many2many<'res.partner.tag', { readonly required: true }>;
|
|
1386
|
+
readonly latitude: F.Decimal;
|
|
1387
|
+
readonly longitude: F.Decimal;
|
|
1358
1388
|
readonly isCompany: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1359
1389
|
readonly parent: F.Many2one<'res.partner'>;
|
|
1360
1390
|
readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
|
|
@@ -1381,6 +1411,25 @@ export interface ResPartner {
|
|
|
1381
1411
|
export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'>, F.Methods<typeof import('../module.js').accountingShutro, 'res.partner'> {
|
|
1382
1412
|
}
|
|
1383
1413
|
|
|
1414
|
+
/** `res.partner.tag` (owner: contacts). */
|
|
1415
|
+
export interface ResPartnerTag {
|
|
1416
|
+
readonly name: 'res.partner.tag';
|
|
1417
|
+
readonly fields: {
|
|
1418
|
+
readonly id: F.Id<'res.partner.tag'>;
|
|
1419
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1420
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1421
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1422
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1423
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1424
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
1425
|
+
};
|
|
1426
|
+
readonly methods: ResPartnerTagMethods;
|
|
1427
|
+
}
|
|
1428
|
+
|
|
1429
|
+
/** Methods of `res.partner.tag`: declared ones and transitions. */
|
|
1430
|
+
export interface ResPartnerTagMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner.tag'> {
|
|
1431
|
+
}
|
|
1432
|
+
|
|
1384
1433
|
/** `res.users` (owner: base). */
|
|
1385
1434
|
export interface ResUsers {
|
|
1386
1435
|
readonly name: 'res.users';
|
|
@@ -1426,6 +1475,8 @@ export interface StorageAttachment {
|
|
|
1426
1475
|
readonly key: F.Char<{ readonly required: true }>;
|
|
1427
1476
|
readonly resModel: F.Char<{ readonly required: true }>;
|
|
1428
1477
|
readonly resId: F.Integer<{ readonly required: true }>;
|
|
1478
|
+
readonly variantOf: F.Many2one<'storage.attachment'>;
|
|
1479
|
+
readonly width: F.Integer;
|
|
1429
1480
|
};
|
|
1430
1481
|
readonly methods: StorageAttachmentMethods;
|
|
1431
1482
|
}
|
package/dist/accounting/index.js
CHANGED
|
@@ -18,7 +18,7 @@ import { permissions } from '../permissions/index.js';
|
|
|
18
18
|
import { product } from '../product/index.js';
|
|
19
19
|
import { reporting } from '../reporting/index.js';
|
|
20
20
|
import { HttpProblem } from '../server/index.js';
|
|
21
|
-
import { action, field, form, list, pivot, search } from '../views/index.js';
|
|
21
|
+
import { action, field, form, list, pivot, search, stat } from '../views/index.js';
|
|
22
22
|
import { ChartInstalledError, chartsOf, installChart, installedChart, installImmutability, installLocalization, localizationsOf, } from './chart.js';
|
|
23
23
|
import { agingReport, closeFiscalYear, readSettings, reopenFiscalYear, updateSettings, } from './closing.js';
|
|
24
24
|
import { accountingDemo } from './demo.js';
|
|
@@ -128,6 +128,148 @@ export const accounting = defineModule({
|
|
|
128
128
|
implies: ['user'],
|
|
129
129
|
},
|
|
130
130
|
},
|
|
131
|
+
// Settings › App settings › Accounting (RFC 0020): per company, changed by accounting managers.
|
|
132
|
+
settings: {
|
|
133
|
+
sections: [
|
|
134
|
+
{
|
|
135
|
+
key: 'periods',
|
|
136
|
+
label: 'Fiscal year and lock dates',
|
|
137
|
+
description: 'When the fiscal year starts, and the dates before which nothing may change.',
|
|
138
|
+
keywords: 'fiscal year lock date period closing tax return',
|
|
139
|
+
scope: 'company',
|
|
140
|
+
editors: ['account.manager'],
|
|
141
|
+
fields: [
|
|
142
|
+
{
|
|
143
|
+
key: 'fiscalYearStart',
|
|
144
|
+
min: 1,
|
|
145
|
+
max: 12,
|
|
146
|
+
help: 'The month it starts: 7 for July–June.',
|
|
147
|
+
},
|
|
148
|
+
{ key: 'lockDate', help: 'Nothing is posted, reversed or reconciled on or before it.' },
|
|
149
|
+
{
|
|
150
|
+
key: 'taxLockDate',
|
|
151
|
+
help: 'Tax returns are filed up to it: tax lines cannot change on or before it.',
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
// The Overview (RFC 0022 step 2): what is owed to us and by us, the month's invoicing, who owes most.
|
|
158
|
+
overview: {
|
|
159
|
+
cards: [
|
|
160
|
+
{
|
|
161
|
+
id: 'receivable',
|
|
162
|
+
title: 'Receivable',
|
|
163
|
+
kind: 'kpi',
|
|
164
|
+
model: 'account.move',
|
|
165
|
+
measure: 'sum:amountResidual',
|
|
166
|
+
filter: {
|
|
167
|
+
kind: { in: ['out_invoice', 'out_debit'] },
|
|
168
|
+
state: 'posted',
|
|
169
|
+
paymentState: { in: ['not_paid', 'partial'] },
|
|
170
|
+
},
|
|
171
|
+
w: 3,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
id: 'payable',
|
|
175
|
+
title: 'Payable',
|
|
176
|
+
kind: 'kpi',
|
|
177
|
+
model: 'account.move',
|
|
178
|
+
measure: 'sum:amountResidual',
|
|
179
|
+
filter: {
|
|
180
|
+
kind: { in: ['in_invoice', 'in_debit'] },
|
|
181
|
+
state: 'posted',
|
|
182
|
+
paymentState: { in: ['not_paid', 'partial'] },
|
|
183
|
+
},
|
|
184
|
+
w: 3,
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
id: 'invoiced_month',
|
|
188
|
+
title: 'Invoiced this month',
|
|
189
|
+
kind: 'kpi',
|
|
190
|
+
model: 'account.move',
|
|
191
|
+
measure: 'sum:amountTotal',
|
|
192
|
+
filter: { kind: 'out_invoice', state: 'posted' },
|
|
193
|
+
comparison: { field: 'date', mode: 'previous' },
|
|
194
|
+
w: 3,
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
id: 'billed_month',
|
|
198
|
+
title: 'Bills this month',
|
|
199
|
+
kind: 'kpi',
|
|
200
|
+
model: 'account.move',
|
|
201
|
+
measure: 'sum:amountTotal',
|
|
202
|
+
filter: { kind: 'in_invoice', state: 'posted' },
|
|
203
|
+
comparison: { field: 'date', mode: 'previous' },
|
|
204
|
+
w: 3,
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
id: 'revenue_by_month',
|
|
208
|
+
title: 'Invoiced by month',
|
|
209
|
+
kind: 'chart',
|
|
210
|
+
model: 'account.move',
|
|
211
|
+
measure: 'sum:amountTotal',
|
|
212
|
+
groupBy: 'date:month',
|
|
213
|
+
filter: { kind: 'out_invoice', state: 'posted' },
|
|
214
|
+
chart: 'bar',
|
|
215
|
+
w: 6,
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
id: 'top_debtors',
|
|
219
|
+
title: 'Who owes most',
|
|
220
|
+
kind: 'pivot',
|
|
221
|
+
model: 'account.move',
|
|
222
|
+
measure: 'sum:amountResidual',
|
|
223
|
+
groupBy: 'partner',
|
|
224
|
+
filter: {
|
|
225
|
+
kind: { in: ['out_invoice', 'out_debit'] },
|
|
226
|
+
state: 'posted',
|
|
227
|
+
paymentState: { in: ['not_paid', 'partial'] },
|
|
228
|
+
},
|
|
229
|
+
w: 6,
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
id: 'payments_month',
|
|
233
|
+
title: 'Payments this month',
|
|
234
|
+
kind: 'kpi',
|
|
235
|
+
model: 'account.payment',
|
|
236
|
+
measure: 'sum:amount',
|
|
237
|
+
comparison: { field: 'date', mode: 'previous' },
|
|
238
|
+
w: 3,
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
id: 'drafts',
|
|
242
|
+
title: 'Draft invoices and bills',
|
|
243
|
+
kind: 'kpi',
|
|
244
|
+
model: 'account.move',
|
|
245
|
+
measure: 'count',
|
|
246
|
+
filter: { kind: { ne: 'entry' }, state: 'draft' },
|
|
247
|
+
w: 3,
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
id: 'to_approve',
|
|
251
|
+
title: 'Waiting approval',
|
|
252
|
+
kind: 'kpi',
|
|
253
|
+
model: 'account.move',
|
|
254
|
+
measure: 'count',
|
|
255
|
+
filter: { state: 'to_approve' },
|
|
256
|
+
w: 3,
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
id: 'biggest_open',
|
|
260
|
+
title: 'Biggest open invoices',
|
|
261
|
+
kind: 'list',
|
|
262
|
+
model: 'account.move',
|
|
263
|
+
measure: 'sum:amountResidual',
|
|
264
|
+
filter: {
|
|
265
|
+
kind: { in: ['out_invoice', 'out_debit'] },
|
|
266
|
+
state: 'posted',
|
|
267
|
+
paymentState: { in: ['not_paid', 'partial'] },
|
|
268
|
+
},
|
|
269
|
+
w: 3,
|
|
270
|
+
},
|
|
271
|
+
],
|
|
272
|
+
},
|
|
131
273
|
actions: {
|
|
132
274
|
'accounting.action_customer_invoices': action(AccountMove, {
|
|
133
275
|
label: 'Customer invoices',
|
|
@@ -425,6 +567,53 @@ export const accounting = defineModule({
|
|
|
425
567
|
],
|
|
426
568
|
// Which withholdings apply to a contact (VDS, TDS), next to their roles (RFC 0016).
|
|
427
569
|
viewExtensions: [
|
|
570
|
+
// The contact's invoices, what they still owe, and their bills (RFC 0022 §3.1).
|
|
571
|
+
{
|
|
572
|
+
view: 'res.partner.form',
|
|
573
|
+
operations: [
|
|
574
|
+
{
|
|
575
|
+
append: 'related',
|
|
576
|
+
nodes: [
|
|
577
|
+
stat({
|
|
578
|
+
id: 'customer_invoices',
|
|
579
|
+
label: 'Invoices',
|
|
580
|
+
model: AccountMove,
|
|
581
|
+
where: {
|
|
582
|
+
partner: { $record: 'id' },
|
|
583
|
+
kind: { in: ['out_invoice', 'out_refund', 'out_debit'] },
|
|
584
|
+
state: 'posted',
|
|
585
|
+
},
|
|
586
|
+
action: 'accounting.action_customer_invoices',
|
|
587
|
+
}),
|
|
588
|
+
stat({
|
|
589
|
+
id: 'customer_due',
|
|
590
|
+
label: 'Due from them',
|
|
591
|
+
model: AccountMove,
|
|
592
|
+
where: {
|
|
593
|
+
partner: { $record: 'id' },
|
|
594
|
+
kind: { in: ['out_invoice', 'out_debit'] },
|
|
595
|
+
state: 'posted',
|
|
596
|
+
paymentState: { ne: 'paid' },
|
|
597
|
+
},
|
|
598
|
+
measure: { sum: 'amountResidual' },
|
|
599
|
+
action: 'accounting.action_customer_invoices',
|
|
600
|
+
tone: 'warning',
|
|
601
|
+
}),
|
|
602
|
+
stat({
|
|
603
|
+
id: 'vendor_bills',
|
|
604
|
+
label: 'Bills',
|
|
605
|
+
model: AccountMove,
|
|
606
|
+
where: {
|
|
607
|
+
partner: { $record: 'id' },
|
|
608
|
+
kind: { in: ['in_invoice', 'in_refund', 'in_debit'] },
|
|
609
|
+
state: 'posted',
|
|
610
|
+
},
|
|
611
|
+
action: 'accounting.action_vendor_bills',
|
|
612
|
+
}),
|
|
613
|
+
],
|
|
614
|
+
},
|
|
615
|
+
],
|
|
616
|
+
},
|
|
428
617
|
// A tax's accounts, reverse charge's payable account, and its components (CGST / SGST / IGST).
|
|
429
618
|
{
|
|
430
619
|
view: 'account.tax.form',
|
|
@@ -575,7 +764,7 @@ export const accounting = defineModule({
|
|
|
575
764
|
'name',
|
|
576
765
|
'partner',
|
|
577
766
|
'date',
|
|
578
|
-
'dateDue',
|
|
767
|
+
{ field: 'dateDue', widget: 'daysLeft' },
|
|
579
768
|
'invoiceOrigin',
|
|
580
769
|
{ field: 'amountTotal', sum: true },
|
|
581
770
|
{ field: 'amountResidual', sum: true },
|
|
@@ -583,6 +772,11 @@ export const accounting = defineModule({
|
|
|
583
772
|
{ field: 'paymentState', widget: 'badge' },
|
|
584
773
|
],
|
|
585
774
|
defaultOrder: ['date desc', 'name desc'],
|
|
775
|
+
decorations: {
|
|
776
|
+
success: { paymentState: 'paid' },
|
|
777
|
+
warning: { paymentState: 'partial' },
|
|
778
|
+
neutral: { state: 'cancel' },
|
|
779
|
+
},
|
|
586
780
|
}),
|
|
587
781
|
'account.move.invoice.form': form(AccountMove, (k) => ({
|
|
588
782
|
header: {
|
|
@@ -596,6 +790,24 @@ export const accounting = defineModule({
|
|
|
596
790
|
],
|
|
597
791
|
},
|
|
598
792
|
sheet: [
|
|
793
|
+
k.stats('related', [
|
|
794
|
+
{
|
|
795
|
+
id: 'invoice_payments',
|
|
796
|
+
label: 'Payments',
|
|
797
|
+
model: AccountPayment,
|
|
798
|
+
where: { documents: { any: { id: { $record: 'id' } } }, state: 'posted' },
|
|
799
|
+
action: 'accounting.action_payments',
|
|
800
|
+
},
|
|
801
|
+
{
|
|
802
|
+
id: 'invoice_paid',
|
|
803
|
+
label: 'Paid',
|
|
804
|
+
model: AccountPayment,
|
|
805
|
+
where: { documents: { any: { id: { $record: 'id' } } }, state: 'posted' },
|
|
806
|
+
measure: { sum: 'amount' },
|
|
807
|
+
action: 'accounting.action_payments',
|
|
808
|
+
tone: 'success',
|
|
809
|
+
},
|
|
810
|
+
]),
|
|
599
811
|
k.group('party', ['partner', 'kind', 'invoiceOrigin', 'ref', 'debitOf', 'placeOfSupply']),
|
|
600
812
|
k.group('dates', ['date', 'dateDue', 'paymentTerm', 'journal']),
|
|
601
813
|
k.lines('lines', [
|