shutro-erp 0.3.6 → 0.3.7
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_asset/.kosh/bindings.js +1 -1
- package/dist/account_asset/.kosh/schema.d.ts +530 -8
- package/dist/account_asset/i18n/bn.d.ts +2 -0
- package/dist/account_asset/i18n/bn.js +97 -0
- package/dist/account_asset/index.js +2 -0
- package/dist/account_asset/module.d.ts +4899 -1445
- package/dist/account_budget/.kosh/bindings.js +1 -1
- package/dist/account_budget/.kosh/schema.d.ts +1130 -56
- package/dist/account_budget/i18n/bn.d.ts +2 -0
- package/dist/account_budget/i18n/bn.js +63 -0
- package/dist/account_budget/index.js +14 -0
- package/dist/account_budget/module.d.ts +17958 -4532
- package/dist/account_budget/module.js +15 -0
- package/dist/account_portal/.kosh/bindings.js +1 -1
- package/dist/account_portal/.kosh/schema.d.ts +530 -8
- package/dist/account_portal/i18n/bn.d.ts +2 -0
- package/dist/account_portal/i18n/bn.js +6 -0
- package/dist/account_portal/index.js +2 -0
- package/dist/account_portal/module.d.ts +5167 -1693
- package/dist/accounting/.kosh/bindings.js +1 -1
- package/dist/accounting/.kosh/schema.d.ts +530 -8
- package/dist/accounting/closing.js +1 -0
- package/dist/accounting/fiscal.d.ts +578 -0
- package/dist/accounting/fiscal.js +401 -0
- package/dist/accounting/followups.d.ts +618 -0
- package/dist/accounting/followups.js +420 -0
- package/dist/accounting/i18n/bn.d.ts +2 -0
- package/dist/accounting/i18n/bn.js +425 -0
- package/dist/accounting/index.d.ts +2 -0
- package/dist/accounting/index.js +649 -2
- package/dist/accounting/module.d.ts +4998 -1451
- package/dist/accounting/module.js +124 -18
- package/dist/accounting/statements.d.ts +878 -0
- package/dist/accounting/statements.js +728 -0
- package/dist/accounting/web/BankReconcilePage.d.ts +9 -0
- package/dist/accounting/web/BankReconcilePage.js +138 -0
- package/dist/accounting/web/FollowupsPage.d.ts +8 -0
- package/dist/accounting/web/FollowupsPage.js +54 -0
- package/dist/accounting/web/PostingPreview.d.ts +8 -0
- package/dist/accounting/web/PostingPreview.js +26 -0
- package/dist/accounting/web/index.d.ts +3 -0
- package/dist/accounting/web/index.js +9 -0
- package/dist/accounting/web/messages.js +140 -0
- package/dist/approvals/.kosh/bindings.js +1 -1
- package/dist/approvals/.kosh/schema.d.ts +272 -4
- package/dist/approvals/demo.d.ts +7 -0
- package/dist/approvals/demo.js +41 -0
- package/dist/approvals/i18n/bn.d.ts +2 -0
- package/dist/approvals/i18n/bn.js +133 -0
- package/dist/approvals/index.d.ts +19 -1
- package/dist/approvals/index.js +477 -7
- package/dist/approvals/mails.d.ts +7 -2
- package/dist/approvals/mails.js +8 -3
- package/dist/approvals/module.d.ts +2930 -1
- package/dist/approvals/module.js +468 -7
- package/dist/approvals/web/Config.d.ts +12 -0
- package/dist/approvals/web/Config.js +60 -0
- package/dist/approvals/web/Matrix.d.ts +9 -0
- package/dist/approvals/web/Matrix.js +26 -0
- package/dist/approvals/web/index.d.ts +3 -1
- package/dist/approvals/web/index.js +8 -1
- package/dist/approvals/web/messages.js +92 -0
- package/dist/approvals_purchase/.kosh/bindings.js +15 -0
- package/dist/approvals_purchase/.kosh/schema.d.ts +1997 -0
- package/dist/approvals_purchase/i18n/bn.d.ts +2 -0
- package/dist/approvals_purchase/i18n/bn.js +5 -0
- package/dist/approvals_purchase/index.d.ts +3 -0
- package/dist/approvals_purchase/index.js +47 -0
- package/dist/approvals_purchase/module.d.ts +12670 -0
- package/dist/approvals_purchase/module.js +84 -0
- package/dist/attendance/.kosh/bindings.js +1 -1
- package/dist/attendance/.kosh/schema.d.ts +59 -1
- package/dist/attendance/i18n/bn.d.ts +2 -0
- package/dist/attendance/i18n/bn.js +147 -0
- package/dist/attendance/index.js +3 -1
- package/dist/attendance/module.d.ts +452 -8
- package/dist/automation/engine.js +1 -1
- package/dist/calendar/.kosh/bindings.js +1 -1
- package/dist/calendar/.kosh/schema.d.ts +2 -1
- package/dist/calendar/i18n/bn.d.ts +2 -0
- package/dist/calendar/i18n/bn.js +80 -0
- package/dist/calendar/index.js +77 -0
- package/dist/calendar/module.d.ts +26 -0
- package/dist/calendar/module.js +14 -4
- package/dist/cli/apps.js +25 -5
- package/dist/cli/init.js +14 -4
- package/dist/cli/templates.d.ts +1 -1
- package/dist/cli/templates.js +34 -5
- package/dist/contacts/.kosh/bindings.js +1 -1
- package/dist/contacts/.kosh/schema.d.ts +2 -1
- package/dist/contacts/i18n/bn.d.ts +2 -0
- package/dist/contacts/i18n/bn.js +67 -0
- package/dist/contacts/index.js +3 -0
- package/dist/contacts/module.d.ts +42 -0
- package/dist/contacts/module.js +6 -1
- package/dist/crm/.kosh/bindings.js +1 -1
- package/dist/crm/.kosh/schema.d.ts +2 -1
- package/dist/crm/i18n/bn.d.ts +2 -0
- package/dist/crm/i18n/bn.js +80 -0
- package/dist/crm/index.js +22 -0
- package/dist/crm/module.d.ts +20 -0
- package/dist/crm/module.js +4 -2
- package/dist/documents/.kosh/bindings.js +1 -1
- package/dist/documents/.kosh/schema.d.ts +2 -1
- package/dist/documents/i18n/bn.d.ts +2 -0
- package/dist/documents/i18n/bn.js +83 -0
- package/dist/documents/index.js +128 -1
- package/dist/documents/module.d.ts +20 -0
- package/dist/documents/module.js +1 -0
- package/dist/event/.kosh/bindings.js +1 -1
- package/dist/event/.kosh/schema.d.ts +2 -1
- package/dist/event/i18n/bn.d.ts +2 -0
- package/dist/event/i18n/bn.js +101 -0
- package/dist/event/index.js +66 -0
- package/dist/event/module.d.ts +20 -0
- package/dist/event/module.js +8 -1
- package/dist/event_account/.kosh/bindings.js +1 -1
- package/dist/event_account/.kosh/schema.d.ts +530 -8
- package/dist/event_account/i18n/bn.d.ts +2 -0
- package/dist/event_account/i18n/bn.js +5 -0
- package/dist/event_account/index.js +2 -0
- package/dist/event_account/module.d.ts +4905 -1431
- package/dist/expense/.kosh/bindings.js +1 -1
- package/dist/expense/.kosh/schema.d.ts +323 -2
- package/dist/expense/i18n/bn.d.ts +2 -0
- package/dist/expense/i18n/bn.js +155 -0
- package/dist/expense/index.js +8 -1
- package/dist/expense/module.d.ts +2715 -694
- package/dist/expense/module.js +3 -1
- package/dist/expense_account/.kosh/bindings.js +1 -1
- package/dist/expense_account/.kosh/schema.d.ts +587 -8
- package/dist/expense_account/i18n/bn.d.ts +2 -0
- package/dist/expense_account/i18n/bn.js +15 -0
- package/dist/expense_account/index.js +2 -0
- package/dist/expense_account/module.d.ts +8094 -2619
- package/dist/helpdesk/.kosh/bindings.js +1 -1
- package/dist/helpdesk/.kosh/schema.d.ts +2 -1
- package/dist/helpdesk/i18n/bn.d.ts +2 -0
- package/dist/helpdesk/i18n/bn.js +127 -0
- package/dist/helpdesk/index.js +2 -0
- package/dist/helpdesk/module.d.ts +20 -0
- package/dist/hr/.kosh/bindings.js +1 -1
- package/dist/hr/.kosh/schema.d.ts +59 -1
- package/dist/hr/demo.js +11 -1
- package/dist/hr/i18n/bn.d.ts +2 -0
- package/dist/hr/i18n/bn.js +126 -0
- package/dist/hr/index.d.ts +1 -1
- package/dist/hr/index.js +158 -12
- package/dist/hr/module.d.ts +932 -59
- package/dist/hr/module.js +114 -17
- package/dist/{mrp → indent}/.kosh/bindings.js +2 -2
- package/dist/indent/.kosh/schema.d.ts +2084 -0
- package/dist/indent/demo.d.ts +7 -0
- package/dist/indent/demo.js +48 -0
- package/dist/indent/i18n/bn.d.ts +2 -0
- package/dist/indent/i18n/bn.js +143 -0
- package/dist/indent/index.d.ts +3 -0
- package/dist/indent/index.js +450 -0
- package/dist/{mrp → indent}/module.d.ts +7164 -3075
- package/dist/indent/module.js +792 -0
- package/dist/indent_purchase/.kosh/bindings.d.ts +22 -0
- package/dist/indent_purchase/.kosh/bindings.js +15 -0
- package/dist/indent_purchase/.kosh/schema.d.ts +2710 -0
- package/dist/indent_purchase/i18n/bn.d.ts +2 -0
- package/dist/indent_purchase/i18n/bn.js +13 -0
- package/dist/indent_purchase/index.d.ts +3 -0
- package/dist/indent_purchase/index.js +61 -0
- package/dist/indent_purchase/module.d.ts +27950 -0
- package/dist/indent_purchase/module.js +163 -0
- package/dist/l10n_bd/.kosh/bindings.js +1 -1
- package/dist/l10n_bd/.kosh/schema.d.ts +530 -8
- package/dist/l10n_bd/i18n/bn.d.ts +2 -0
- package/dist/l10n_bd/i18n/bn.js +69 -0
- package/dist/l10n_bd/index.js +2 -0
- package/dist/l10n_bd/module.d.ts +5167 -1693
- package/dist/l10n_bd_payroll/.kosh/bindings.js +1 -1
- package/dist/l10n_bd_payroll/.kosh/schema.d.ts +587 -8
- package/dist/l10n_bd_payroll/i18n/bn.d.ts +2 -0
- package/dist/l10n_bd_payroll/i18n/bn.js +4 -0
- package/dist/l10n_bd_payroll/index.js +2 -0
- package/dist/l10n_bd_payroll/module.d.ts +5910 -1548
- package/dist/l10n_bd_pos/.kosh/bindings.d.ts +22 -0
- package/dist/{mrp_account → l10n_bd_pos}/.kosh/bindings.js +2 -2
- package/dist/{mrp_account → l10n_bd_pos}/.kosh/schema.d.ts +693 -651
- package/dist/l10n_bd_pos/i18n/bn.d.ts +2 -0
- package/dist/l10n_bd_pos/i18n/bn.js +32 -0
- package/dist/l10n_bd_pos/index.d.ts +3 -0
- package/dist/l10n_bd_pos/index.js +111 -0
- package/dist/{mrp_account → l10n_bd_pos}/module.d.ts +7402 -7647
- package/dist/l10n_bd_pos/module.js +43 -0
- package/dist/l10n_in/.kosh/bindings.js +1 -1
- package/dist/l10n_in/.kosh/schema.d.ts +530 -8
- package/dist/l10n_in/i18n/bn.d.ts +2 -0
- package/dist/l10n_in/i18n/bn.js +95 -0
- package/dist/l10n_in/index.js +2 -0
- package/dist/l10n_in/module.d.ts +6703 -1652
- package/dist/l10n_in/module.js +25 -5
- package/dist/l10n_in/web/GstSettings.js +2 -2
- package/dist/mail/inbound/handle.js +2 -4
- package/dist/mail/inbound/models.js +5 -3
- package/dist/mail/index.d.ts +12 -1
- package/dist/mail/index.js +139 -2
- package/dist/mail/send.d.ts +56 -0
- package/dist/mail/send.js +394 -0
- package/dist/mail/web/SendButton.d.ts +9 -0
- package/dist/mail/web/SendButton.js +71 -0
- package/dist/mail/web/SendSelected.d.ts +8 -0
- package/dist/mail/web/SendSelected.js +33 -0
- package/dist/mail/web/index.d.ts +2 -0
- package/dist/mail/web/index.js +6 -0
- package/dist/mail/web/messages.js +36 -0
- package/dist/maintenance/.kosh/bindings.js +1 -1
- package/dist/maintenance/.kosh/schema.d.ts +2 -1
- package/dist/maintenance/i18n/bn.d.ts +2 -0
- package/dist/maintenance/i18n/bn.js +132 -0
- package/dist/maintenance/index.js +85 -0
- package/dist/maintenance/module.d.ts +25 -0
- package/dist/maintenance/module.js +27 -9
- package/dist/maintenance_stock/.kosh/bindings.js +1 -1
- package/dist/maintenance_stock/.kosh/schema.d.ts +298 -2
- package/dist/maintenance_stock/i18n/bn.d.ts +2 -0
- package/dist/maintenance_stock/i18n/bn.js +21 -0
- package/dist/maintenance_stock/index.js +2 -0
- package/dist/maintenance_stock/module.d.ts +5302 -1256
- package/dist/maintenance_stock/module.js +1 -0
- package/dist/modules-sdk/apps.d.ts +10 -0
- package/dist/modules-sdk/apps.js +32 -0
- package/dist/modules-sdk/index.d.ts +1 -1
- package/dist/modules-sdk/manifest.d.ts +68 -2
- package/dist/payment/.kosh/bindings.js +1 -1
- package/dist/payment/.kosh/schema.d.ts +530 -8
- package/dist/payment/i18n/bn.d.ts +2 -0
- package/dist/payment/i18n/bn.js +59 -0
- package/dist/payment/index.js +85 -0
- package/dist/payment/module.d.ts +5134 -1660
- package/dist/payment/module.js +17 -3
- package/dist/payment/settle.js +1 -0
- package/dist/payroll/.kosh/bindings.js +1 -1
- package/dist/payroll/.kosh/schema.d.ts +59 -1
- package/dist/payroll/i18n/bn.d.ts +2 -0
- package/dist/payroll/i18n/bn.js +206 -0
- package/dist/payroll/index.js +2 -0
- package/dist/payroll/module.d.ts +936 -48
- package/dist/payroll_account/.kosh/bindings.js +1 -1
- package/dist/payroll_account/.kosh/schema.d.ts +587 -8
- package/dist/payroll_account/i18n/bn.d.ts +2 -0
- package/dist/payroll_account/i18n/bn.js +10 -0
- package/dist/payroll_account/index.js +2 -0
- package/dist/payroll_account/module.d.ts +7534 -3192
- package/dist/permissions/approvals.d.ts +97 -4
- package/dist/permissions/approvals.js +780 -31
- package/dist/permissions/index.d.ts +1 -1
- package/dist/permissions/index.js +2 -2
- package/dist/permissions/models.js +177 -5
- package/dist/permissions/routes.d.ts +3 -0
- package/dist/permissions/routes.js +36 -2
- package/dist/permissions/web/ApprovalPanel.js +43 -5
- package/dist/permissions/web/messages.js +52 -0
- package/dist/portal/.kosh/bindings.js +1 -1
- package/dist/portal/.kosh/schema.d.ts +2 -1
- package/dist/portal/documents.d.ts +3 -0
- package/dist/portal/documents.js +21 -1
- package/dist/portal/i18n/bn.d.ts +2 -0
- package/dist/portal/i18n/bn.js +33 -0
- package/dist/portal/index.js +2 -0
- package/dist/portal/module.d.ts +20 -0
- package/dist/portal/routes-documents.js +76 -0
- package/dist/pos/.kosh/bindings.js +1 -1
- package/dist/pos/.kosh/schema.d.ts +531 -8
- package/dist/pos/i18n/bn.d.ts +2 -0
- package/dist/pos/i18n/bn.js +133 -0
- package/dist/pos/index.js +83 -1
- package/dist/pos/module.d.ts +6888 -1777
- package/dist/pos/module.js +49 -5
- package/dist/pos/routes.js +80 -7
- package/dist/pos/web/Register.js +2 -5
- package/dist/pos_stock/.kosh/bindings.js +1 -1
- package/dist/pos_stock/.kosh/schema.d.ts +626 -9
- package/dist/pos_stock/i18n/bn.d.ts +2 -0
- package/dist/pos_stock/i18n/bn.js +6 -0
- package/dist/pos_stock/index.js +2 -0
- package/dist/pos_stock/module.d.ts +10798 -3276
- package/dist/product/.kosh/bindings.js +1 -1
- package/dist/product/.kosh/schema.d.ts +202 -1
- package/dist/product/i18n/bn.d.ts +2 -0
- package/dist/product/i18n/bn.js +175 -0
- package/dist/product/index.d.ts +1 -0
- package/dist/product/index.js +288 -1
- package/dist/product/module.d.ts +1725 -0
- package/dist/product/module.js +66 -6
- package/dist/product/pricelist.d.ts +575 -0
- package/dist/product/pricelist.js +257 -0
- package/dist/product/variants.d.ts +908 -0
- package/dist/product/variants.js +251 -0
- package/dist/production/.kosh/bindings.d.ts +22 -0
- package/dist/production/.kosh/bindings.js +15 -0
- package/dist/production/.kosh/schema.d.ts +2345 -0
- package/dist/{mrp → production}/demo.d.ts +1 -1
- package/dist/{mrp → production}/demo.js +5 -5
- package/dist/production/depth.d.ts +790 -0
- package/dist/production/depth.js +262 -0
- package/dist/production/i18n/bn.d.ts +2 -0
- package/dist/production/i18n/bn.js +350 -0
- package/dist/production/index.d.ts +6 -0
- package/dist/production/index.js +1256 -0
- package/dist/production/module.d.ts +17327 -0
- package/dist/production/module.js +1333 -0
- package/dist/production/plan.d.ts +921 -0
- package/dist/production/plan.js +511 -0
- package/dist/production/schedule.d.ts +656 -0
- package/dist/production/schedule.js +309 -0
- package/dist/production_account/.kosh/bindings.d.ts +22 -0
- package/dist/production_account/.kosh/bindings.js +15 -0
- package/dist/production_account/.kosh/schema.d.ts +3496 -0
- package/dist/production_account/i18n/bn.d.ts +2 -0
- package/dist/production_account/i18n/bn.js +93 -0
- package/dist/production_account/index.d.ts +4 -0
- package/dist/production_account/index.js +246 -0
- package/dist/production_account/module.d.ts +1192 -0
- package/dist/{mrp_account → production_account}/module.js +72 -18
- package/dist/production_account/overhead.d.ts +1195 -0
- package/dist/production_account/overhead.js +554 -0
- package/dist/project/.kosh/bindings.js +1 -1
- package/dist/project/.kosh/schema.d.ts +65 -2
- package/dist/project/i18n/bn.d.ts +2 -0
- package/dist/project/i18n/bn.js +383 -0
- package/dist/project/index.js +123 -0
- package/dist/project/module.d.ts +20 -0
- package/dist/project/module.js +73 -14
- package/dist/project_account/.kosh/bindings.js +1 -1
- package/dist/project_account/.kosh/schema.d.ts +530 -8
- package/dist/project_account/i18n/bn.d.ts +2 -0
- package/dist/project_account/i18n/bn.js +6 -0
- package/dist/project_account/index.js +2 -0
- package/dist/project_account/module.d.ts +4926 -1452
- package/dist/project_portal/.kosh/bindings.js +1 -1
- package/dist/project_portal/.kosh/schema.d.ts +65 -2
- package/dist/project_portal/i18n/bn.d.ts +2 -0
- package/dist/project_portal/i18n/bn.js +6 -0
- package/dist/project_portal/index.js +2 -0
- package/dist/project_portal/module.d.ts +40 -0
- package/dist/project_purchase/.kosh/bindings.js +1 -1
- package/dist/project_purchase/.kosh/schema.d.ts +1126 -53
- package/dist/project_purchase/i18n/bn.d.ts +2 -0
- package/dist/project_purchase/i18n/bn.js +4 -0
- package/dist/project_purchase/index.js +2 -0
- package/dist/project_purchase/module.d.ts +17912 -4446
- package/dist/purchase/.kosh/bindings.js +1 -1
- package/dist/purchase/.kosh/schema.d.ts +813 -3
- package/dist/purchase/comparison.d.ts +993 -0
- package/dist/purchase/comparison.js +415 -0
- package/dist/purchase/extras.d.ts +1509 -0
- package/dist/purchase/extras.js +445 -0
- package/dist/purchase/i18n/bn.d.ts +2 -0
- package/dist/purchase/i18n/bn.js +413 -0
- package/dist/purchase/index.d.ts +5 -0
- package/dist/purchase/index.js +1280 -4
- package/dist/purchase/module.d.ts +7139 -398
- package/dist/purchase/module.js +295 -11
- package/dist/purchase/request.d.ts +696 -0
- package/dist/purchase/request.js +446 -0
- package/dist/purchase/tender.d.ts +1208 -0
- package/dist/purchase/tender.js +507 -0
- package/dist/purchase/vendorprice.d.ts +340 -0
- package/dist/purchase/vendorprice.js +153 -0
- package/dist/purchase_account/.kosh/bindings.js +1 -1
- package/dist/purchase_account/.kosh/schema.d.ts +1130 -57
- package/dist/purchase_account/i18n/bn.d.ts +2 -0
- package/dist/purchase_account/i18n/bn.js +22 -0
- package/dist/purchase_account/index.js +19 -0
- package/dist/purchase_account/module.d.ts +12276 -2247
- package/dist/purchase_account/module.js +241 -9
- package/dist/purchase_portal/.kosh/bindings.js +1 -1
- package/dist/purchase_portal/.kosh/schema.d.ts +813 -3
- package/dist/purchase_portal/i18n/bn.d.ts +2 -0
- package/dist/purchase_portal/i18n/bn.js +5 -0
- package/dist/purchase_portal/index.js +2 -0
- package/dist/purchase_portal/module.d.ts +6849 -353
- package/dist/purchase_stock/.kosh/bindings.js +1 -1
- package/dist/purchase_stock/.kosh/schema.d.ts +910 -4
- package/dist/purchase_stock/i18n/bn.d.ts +2 -0
- package/dist/purchase_stock/i18n/bn.js +19 -0
- package/dist/purchase_stock/index.d.ts +1 -1
- package/dist/purchase_stock/index.js +29 -0
- package/dist/purchase_stock/module.d.ts +12410 -1864
- package/dist/purchase_stock/module.js +81 -9
- package/dist/purchase_stock/scorecard.d.ts +22 -0
- package/dist/purchase_stock/scorecard.js +77 -0
- package/dist/purchase_stock/web/Scorecard.d.ts +7 -0
- package/dist/purchase_stock/web/Scorecard.js +22 -0
- package/dist/purchase_stock/web/index.d.ts +11 -0
- package/dist/purchase_stock/web/index.js +16 -0
- package/dist/purchase_stock/web/messages.d.ts +2 -0
- package/dist/purchase_stock/web/messages.js +27 -0
- package/dist/purchase_stock_account/.kosh/bindings.js +1 -1
- package/dist/purchase_stock_account/.kosh/schema.d.ts +1286 -58
- package/dist/purchase_stock_account/i18n/bn.d.ts +2 -0
- package/dist/purchase_stock_account/i18n/bn.js +8 -0
- package/dist/purchase_stock_account/index.js +18 -0
- package/dist/purchase_stock_account/module.d.ts +7 -37995
- package/dist/purchase_stock_account/module.js +24 -3
- package/dist/recruitment/.kosh/bindings.js +1 -1
- package/dist/recruitment/.kosh/schema.d.ts +59 -1
- package/dist/recruitment/i18n/bn.d.ts +2 -0
- package/dist/recruitment/i18n/bn.js +93 -0
- package/dist/recruitment/index.js +64 -0
- package/dist/recruitment/module.d.ts +458 -8
- package/dist/recruitment/module.js +11 -3
- package/dist/reporting/documents.d.ts +5 -0
- package/dist/reporting/documents.js +11 -1
- package/dist/reporting/index.d.ts +1 -1
- package/dist/reporting/index.js +1 -1
- package/dist/reporting/web/CalendarView.d.ts +18 -5
- package/dist/reporting/web/CalendarView.js +163 -29
- package/dist/reporting/web/messages.js +18 -0
- package/dist/sale_account/.kosh/bindings.js +1 -1
- package/dist/sale_account/.kosh/schema.d.ts +642 -16
- package/dist/sale_account/i18n/bn.d.ts +2 -0
- package/dist/sale_account/i18n/bn.js +48 -0
- package/dist/sale_account/index.d.ts +1 -1
- package/dist/sale_account/index.js +102 -4
- package/dist/sale_account/module.d.ts +8254 -2212
- package/dist/sale_account/module.js +535 -46
- package/dist/sale_crm/.kosh/bindings.d.ts +22 -0
- package/dist/sale_crm/.kosh/bindings.js +15 -0
- package/dist/{mrp → sale_crm}/.kosh/schema.d.ts +389 -567
- package/dist/sale_crm/i18n/bn.d.ts +2 -0
- package/dist/sale_crm/i18n/bn.js +9 -0
- package/dist/sale_crm/index.d.ts +7 -0
- package/dist/sale_crm/index.js +104 -0
- package/dist/sale_crm/module.d.ts +5609 -0
- package/dist/sale_crm/module.js +73 -0
- package/dist/sale_portal/.kosh/bindings.js +1 -1
- package/dist/sale_portal/.kosh/schema.d.ts +291 -4
- package/dist/sale_portal/i18n/bn.d.ts +2 -0
- package/dist/sale_portal/i18n/bn.js +7 -0
- package/dist/sale_portal/index.js +10 -0
- package/dist/sale_portal/module.d.ts +2564 -294
- package/dist/sale_project/.kosh/bindings.js +1 -1
- package/dist/sale_project/.kosh/schema.d.ts +354 -5
- package/dist/sale_project/i18n/bn.d.ts +2 -0
- package/dist/sale_project/i18n/bn.js +12 -0
- package/dist/sale_project/index.js +2 -0
- package/dist/sale_project/module.d.ts +6249 -2402
- package/dist/sale_stock/.kosh/bindings.js +1 -1
- package/dist/sale_stock/.kosh/schema.d.ts +387 -5
- package/dist/sale_stock/i18n/bn.d.ts +2 -0
- package/dist/sale_stock/i18n/bn.js +15 -0
- package/dist/sale_stock/index.js +2 -0
- package/dist/sale_stock/module.d.ts +8057 -1759
- package/dist/sale_stock/module.js +20 -3
- package/dist/sales/.kosh/bindings.js +1 -1
- package/dist/sales/.kosh/schema.d.ts +291 -4
- package/dist/sales/i18n/bn.d.ts +2 -0
- package/dist/sales/i18n/bn.js +128 -0
- package/dist/sales/index.js +120 -5
- package/dist/sales/module.d.ts +3567 -633
- package/dist/sales/module.js +306 -11
- package/dist/server/api/duplicate.d.ts +14 -0
- package/dist/server/api/duplicate.js +75 -0
- package/dist/server/api/explain.d.ts +70 -0
- package/dist/server/api/explain.js +111 -0
- package/dist/server/api/metadata.d.ts +2 -0
- package/dist/server/api/metadata.js +9 -0
- package/dist/server/api/openapi.js +15 -0
- package/dist/server/api/rest.d.ts +1 -0
- package/dist/server/api/rest.js +76 -12
- package/dist/server/api/views.js +1 -1
- package/dist/server/apps.d.ts +16 -1
- package/dist/server/apps.js +164 -2
- package/dist/server/auth/base.js +2 -0
- package/dist/server/auth/service.d.ts +8 -0
- package/dist/server/auth/service.js +19 -0
- package/dist/server/events.d.ts +13 -0
- package/dist/server/events.js +22 -0
- package/dist/server/i18n.d.ts +27 -0
- package/dist/server/i18n.js +143 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.js +2 -0
- package/dist/server/server.js +6 -0
- package/dist/settings/company.d.ts +3 -1
- package/dist/settings/company.js +26 -5
- package/dist/settings/routes.d.ts +10 -0
- package/dist/settings/routes.js +19 -3
- package/dist/settings/web/AppsPage.d.ts +3 -2
- package/dist/settings/web/AppsPage.js +26 -8
- package/dist/settings/web/CompaniesPage.js +91 -6
- package/dist/settings/web/messages.js +64 -0
- package/dist/sign/.kosh/bindings.js +1 -1
- package/dist/sign/.kosh/schema.d.ts +2 -1
- package/dist/sign/i18n/bn.d.ts +2 -0
- package/dist/sign/i18n/bn.js +97 -0
- package/dist/sign/index.d.ts +15 -0
- package/dist/sign/index.js +129 -1
- package/dist/sign/module.d.ts +40 -0
- package/dist/sign/module.js +11 -2
- package/dist/stock/.kosh/bindings.js +1 -1
- package/dist/stock/.kosh/schema.d.ts +298 -2
- package/dist/stock/i18n/bn.d.ts +2 -0
- package/dist/stock/i18n/bn.js +311 -0
- package/dist/stock/index.d.ts +3 -1
- package/dist/stock/index.js +442 -3
- package/dist/stock/ledger.d.ts +78 -0
- package/dist/stock/ledger.js +582 -0
- package/dist/stock/module.d.ts +5280 -2044
- package/dist/stock/module.js +222 -23
- package/dist/stock/replenish.js +16 -1
- package/dist/stock/returns.d.ts +157 -0
- package/dist/stock/returns.js +163 -0
- package/dist/stock/web/Ledger.d.ts +9 -0
- package/dist/stock/web/Ledger.js +108 -0
- package/dist/stock/web/Operations.d.ts +8 -0
- package/dist/stock/web/Operations.js +33 -0
- package/dist/stock/web/ReturnButton.d.ts +7 -0
- package/dist/stock/web/ReturnButton.js +62 -0
- package/dist/stock/web/index.d.ts +3 -0
- package/dist/stock/web/index.js +9 -0
- package/dist/stock/web/messages.js +154 -0
- package/dist/stock_account/.kosh/bindings.js +1 -1
- package/dist/stock_account/.kosh/schema.d.ts +682 -9
- package/dist/stock_account/i18n/bn.d.ts +2 -0
- package/dist/stock_account/i18n/bn.js +73 -0
- package/dist/stock_account/index.d.ts +1 -0
- package/dist/stock_account/index.js +131 -3
- package/dist/stock_account/landed.d.ts +429 -0
- package/dist/stock_account/landed.js +335 -0
- package/dist/stock_account/module.d.ts +11247 -3363
- package/dist/stock_account/module.js +135 -6
- package/dist/stock_account/web/LandedPreview.d.ts +7 -0
- package/dist/stock_account/web/LandedPreview.js +23 -0
- package/dist/stock_account/web/index.d.ts +11 -0
- package/dist/stock_account/web/index.js +16 -0
- package/dist/stock_account/web/messages.d.ts +2 -0
- package/dist/stock_account/web/messages.js +27 -0
- package/dist/todo/i18n/bn.d.ts +2 -0
- package/dist/todo/i18n/bn.js +66 -0
- package/dist/todo/index.js +59 -0
- package/dist/todo/module.d.ts +5 -0
- package/dist/todo/module.js +5 -3
- package/dist/trade_finance/.kosh/bindings.js +1 -1
- package/dist/trade_finance/.kosh/schema.d.ts +2 -1
- package/dist/trade_finance/i18n/bn.d.ts +2 -0
- package/dist/trade_finance/i18n/bn.js +162 -0
- package/dist/trade_finance/index.js +93 -0
- package/dist/trade_finance/module.d.ts +26 -0
- package/dist/trade_finance/module.js +27 -8
- package/dist/trade_finance_account/.kosh/bindings.js +1 -1
- package/dist/trade_finance_account/.kosh/schema.d.ts +530 -8
- package/dist/trade_finance_account/i18n/bn.d.ts +2 -0
- package/dist/trade_finance_account/i18n/bn.js +27 -0
- package/dist/trade_finance_account/index.js +2 -0
- package/dist/trade_finance_account/module.d.ts +4906 -1432
- package/dist/trade_finance_account/module.js +1 -0
- package/dist/trade_finance_purchase/.kosh/bindings.js +1 -1
- package/dist/trade_finance_purchase/.kosh/schema.d.ts +813 -3
- package/dist/trade_finance_purchase/i18n/bn.d.ts +2 -0
- package/dist/trade_finance_purchase/i18n/bn.js +6 -0
- package/dist/trade_finance_purchase/index.js +2 -0
- package/dist/trade_finance_purchase/module.d.ts +6909 -413
- package/dist/trade_finance_sale/.kosh/bindings.js +1 -1
- package/dist/trade_finance_sale/.kosh/schema.d.ts +291 -4
- package/dist/trade_finance_sale/i18n/bn.d.ts +2 -0
- package/dist/trade_finance_sale/i18n/bn.js +6 -0
- package/dist/trade_finance_sale/index.js +2 -0
- package/dist/trade_finance_sale/module.d.ts +2601 -331
- package/dist/ui/api.d.ts +2 -0
- package/dist/ui/app.d.ts +9 -0
- package/dist/ui/app.js +24 -4
- package/dist/ui/components/AppIcon.js +2 -2
- package/dist/ui/components/Explain.d.ts +69 -0
- package/dist/ui/components/Explain.js +62 -0
- package/dist/ui/context.d.ts +8 -1
- package/dist/ui/context.js +34 -1
- package/dist/ui/i18n/messages.d.ts +36 -0
- package/dist/ui/i18n/messages.js +72 -0
- package/dist/ui/index.d.ts +2 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/registry.d.ts +14 -0
- package/dist/ui/registry.js +10 -0
- package/dist/ui/views/FormView.d.ts +6 -0
- package/dist/ui/views/FormView.js +47 -10
- package/dist/ui/views/ListView.d.ts +8 -0
- package/dist/ui/views/ListView.js +10 -3
- package/dist/ui/views/StatsRow.js +2 -1
- package/dist/views/extend.js +12 -0
- package/dist/views/types.d.ts +13 -2
- package/dist/views/validate.js +8 -1
- package/dist/website/.kosh/bindings.js +1 -1
- package/dist/website/.kosh/schema.d.ts +2 -1
- package/dist/website/i18n/bn.d.ts +2 -0
- package/dist/website/i18n/bn.js +113 -0
- package/dist/website/index.js +36 -0
- package/dist/website/module.d.ts +20 -0
- package/dist/website/module.js +29 -5
- package/dist/website_crm/.kosh/bindings.js +1 -1
- package/dist/website_crm/.kosh/schema.d.ts +2 -1
- package/dist/website_crm/i18n/bn.d.ts +2 -0
- package/dist/website_crm/i18n/bn.js +5 -0
- package/dist/website_crm/index.js +2 -0
- package/dist/website_crm/module.d.ts +40 -0
- package/dist/website_sale/.kosh/bindings.js +1 -1
- package/dist/website_sale/.kosh/schema.d.ts +642 -17
- package/dist/website_sale/i18n/bn.d.ts +2 -0
- package/dist/website_sale/i18n/bn.js +132 -0
- package/dist/website_sale/index.js +83 -1
- package/dist/website_sale/module.d.ts +18705 -5550
- package/dist/website_sale/module.js +32 -10
- package/dist/website_sale/shop.js +22 -9
- package/dist/website_sale_stock/.kosh/bindings.js +1 -1
- package/dist/website_sale_stock/.kosh/schema.d.ts +737 -18
- package/dist/website_sale_stock/i18n/bn.d.ts +2 -0
- package/dist/website_sale_stock/i18n/bn.js +4 -0
- package/dist/website_sale_stock/index.js +2 -0
- package/dist/website_sale_stock/module.d.ts +10 -24997
- package/dist/website_sale_stock/module.js +7 -3
- package/package.json +36 -8
- package/dist/mrp/index.d.ts +0 -3
- package/dist/mrp/index.js +0 -393
- package/dist/mrp/module.js +0 -757
- package/dist/mrp_account/index.d.ts +0 -3
- package/dist/mrp_account/index.js +0 -22
- /package/dist/{mrp → approvals_purchase}/.kosh/bindings.d.ts +0 -0
- /package/dist/{mrp_account → indent}/.kosh/bindings.d.ts +0 -0
|
@@ -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: 0f7011c7102c3704
|
|
2
2
|
// Schema view of module `project_purchase` (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
|
|
|
@@ -6,7 +6,15 @@ import type { F } from '../../server/orm.js';
|
|
|
6
6
|
export interface SchemaView {
|
|
7
7
|
readonly 'account.account': AccountAccount;
|
|
8
8
|
readonly 'account.analytic': AccountAnalytic;
|
|
9
|
+
readonly 'account.bank.statement': AccountBankStatement;
|
|
10
|
+
readonly 'account.bank.statement.line': AccountBankStatementLine;
|
|
11
|
+
readonly 'account.fiscal.position': AccountFiscalPosition;
|
|
12
|
+
readonly 'account.fiscal.position.account': AccountFiscalPositionAccount;
|
|
13
|
+
readonly 'account.fiscal.position.tax': AccountFiscalPositionTax;
|
|
9
14
|
readonly 'account.fiscal.year': AccountFiscalYear;
|
|
15
|
+
readonly 'account.followup': AccountFollowup;
|
|
16
|
+
readonly 'account.followup.level': AccountFollowupLevel;
|
|
17
|
+
readonly 'account.followup.sent': AccountFollowupSent;
|
|
10
18
|
readonly 'account.full.reconcile': AccountFullReconcile;
|
|
11
19
|
readonly 'account.journal': AccountJournal;
|
|
12
20
|
readonly 'account.move': AccountMove;
|
|
@@ -16,10 +24,12 @@ export interface SchemaView {
|
|
|
16
24
|
readonly 'account.payment.term': AccountPaymentTerm;
|
|
17
25
|
readonly 'account.payment.term.line': AccountPaymentTermLine;
|
|
18
26
|
readonly 'account.payment.withholding': AccountPaymentWithholding;
|
|
27
|
+
readonly 'account.reconcile.rule': AccountReconcileRule;
|
|
19
28
|
readonly 'account.tax': AccountTax;
|
|
20
29
|
readonly 'account.tax.component': AccountTaxComponent;
|
|
21
30
|
readonly 'account.withholding': AccountWithholding;
|
|
22
31
|
readonly 'approval.delegation': ApprovalDelegation;
|
|
32
|
+
readonly 'approval.event': ApprovalEvent;
|
|
23
33
|
readonly 'approval.level': ApprovalLevel;
|
|
24
34
|
readonly 'approval.link': ApprovalLink;
|
|
25
35
|
readonly 'approval.policy': ApprovalPolicy;
|
|
@@ -46,8 +56,16 @@ export interface SchemaView {
|
|
|
46
56
|
readonly 'oauth.code': OauthCode;
|
|
47
57
|
readonly 'oauth.grant': OauthGrant;
|
|
48
58
|
readonly 'oauth.token': OauthToken;
|
|
59
|
+
readonly 'product.attribute': ProductAttribute;
|
|
60
|
+
readonly 'product.attribute.value': ProductAttributeValue;
|
|
49
61
|
readonly 'product.category': ProductCategory;
|
|
62
|
+
readonly 'product.pricelist': ProductPricelist;
|
|
63
|
+
readonly 'product.pricelist.rule': ProductPricelistRule;
|
|
50
64
|
readonly 'product.product': ProductProduct;
|
|
65
|
+
readonly 'product.template': ProductTemplate;
|
|
66
|
+
readonly 'product.template.exclusion': ProductTemplateExclusion;
|
|
67
|
+
readonly 'product.template.line': ProductTemplateLine;
|
|
68
|
+
readonly 'product.vendor.price': ProductVendorPrice;
|
|
51
69
|
readonly 'project.budget.line': ProjectBudgetLine;
|
|
52
70
|
readonly 'project.change': ProjectChange;
|
|
53
71
|
readonly 'project.issue': ProjectIssue;
|
|
@@ -66,8 +84,23 @@ export interface SchemaView {
|
|
|
66
84
|
readonly 'project.timesheet': ProjectTimesheet;
|
|
67
85
|
readonly 'project.type': ProjectType;
|
|
68
86
|
readonly 'project.work.package': ProjectWorkPackage;
|
|
87
|
+
readonly 'purchase.agreement': PurchaseAgreement;
|
|
88
|
+
readonly 'purchase.agreement.line': PurchaseAgreementLine;
|
|
89
|
+
readonly 'purchase.comparison': PurchaseComparison;
|
|
90
|
+
readonly 'purchase.comparison.line': PurchaseComparisonLine;
|
|
69
91
|
readonly 'purchase.order': PurchaseOrder;
|
|
70
92
|
readonly 'purchase.order.line': PurchaseOrderLine;
|
|
93
|
+
readonly 'purchase.request': PurchaseRequest;
|
|
94
|
+
readonly 'purchase.request.line': PurchaseRequestLine;
|
|
95
|
+
readonly 'purchase.technical.comparison': PurchaseTechnicalComparison;
|
|
96
|
+
readonly 'purchase.technical.comparison.line': PurchaseTechnicalComparisonLine;
|
|
97
|
+
readonly 'purchase.tender': PurchaseTender;
|
|
98
|
+
readonly 'purchase.tender.line': PurchaseTenderLine;
|
|
99
|
+
readonly 'purchase.tender.response': PurchaseTenderResponse;
|
|
100
|
+
readonly 'purchase.tender.response.line': PurchaseTenderResponseLine;
|
|
101
|
+
readonly 'purchase.vendor.request': PurchaseVendorRequest;
|
|
102
|
+
readonly 'purchase.work.acceptance': PurchaseWorkAcceptance;
|
|
103
|
+
readonly 'purchase.work.acceptance.line': PurchaseWorkAcceptanceLine;
|
|
71
104
|
readonly 'report.dashboard': ReportDashboard;
|
|
72
105
|
readonly 'report.output': ReportOutput;
|
|
73
106
|
readonly 'report.schedule': ReportSchedule;
|
|
@@ -79,6 +112,7 @@ export interface SchemaView {
|
|
|
79
112
|
readonly 'res.currency.rate': ResCurrencyRate;
|
|
80
113
|
readonly 'res.partner': ResPartner;
|
|
81
114
|
readonly 'res.partner.tag': ResPartnerTag;
|
|
115
|
+
readonly 'res.segment': ResSegment;
|
|
82
116
|
readonly 'res.users': ResUsers;
|
|
83
117
|
readonly 'storage.attachment': StorageAttachment;
|
|
84
118
|
readonly 'uom.uom': UomUom;
|
|
@@ -134,6 +168,134 @@ export interface AccountAnalytic {
|
|
|
134
168
|
export interface AccountAnalyticMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.analytic'> {
|
|
135
169
|
}
|
|
136
170
|
|
|
171
|
+
/** `account.bank.statement` (owner: accounting). */
|
|
172
|
+
export interface AccountBankStatement {
|
|
173
|
+
readonly name: 'account.bank.statement';
|
|
174
|
+
readonly fields: {
|
|
175
|
+
readonly id: F.Id<'account.bank.statement'>;
|
|
176
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
177
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
178
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
179
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
180
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
181
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
182
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
183
|
+
readonly journal: F.Many2one<'account.journal', { readonly required: true }>;
|
|
184
|
+
readonly date: F.DateOnly<{ readonly required: true }>;
|
|
185
|
+
readonly balanceStart: F.Decimal<{ readonly default: true }>;
|
|
186
|
+
readonly balanceEnd: F.Decimal<{ readonly default: true }>;
|
|
187
|
+
readonly lines: F.One2many<'account.bank.statement.line', { readonly required: true }>;
|
|
188
|
+
readonly state: F.State<'open' | 'done', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
189
|
+
};
|
|
190
|
+
readonly methods: AccountBankStatementMethods;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/** Methods of `account.bank.statement`: declared ones and transitions. */
|
|
194
|
+
export interface AccountBankStatementMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.bank.statement'> {
|
|
195
|
+
readonly 'close': () => Promise<void>;
|
|
196
|
+
readonly 'reopen': () => Promise<void>;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/** `account.bank.statement.line` (owner: accounting). */
|
|
200
|
+
export interface AccountBankStatementLine {
|
|
201
|
+
readonly name: 'account.bank.statement.line';
|
|
202
|
+
readonly fields: {
|
|
203
|
+
readonly id: F.Id<'account.bank.statement.line'>;
|
|
204
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
205
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
206
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
207
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
208
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
209
|
+
readonly statement: F.Many2one<'account.bank.statement', { readonly required: true }>;
|
|
210
|
+
readonly date: F.DateOnly<{ readonly required: true }>;
|
|
211
|
+
readonly label: F.Char<{ readonly required: true }>;
|
|
212
|
+
readonly reference: F.Char;
|
|
213
|
+
readonly partner: F.Many2one<'res.partner'>;
|
|
214
|
+
readonly amount: F.Decimal<{ readonly required: true }>;
|
|
215
|
+
readonly uniqueKey: F.Char;
|
|
216
|
+
readonly payment: F.Many2one<'account.payment'>;
|
|
217
|
+
readonly move: F.Many2one<'account.move'>;
|
|
218
|
+
readonly rule: F.Many2one<'account.reconcile.rule'>;
|
|
219
|
+
readonly state: F.Selection<'open' | 'matched', { readonly required: true; readonly default: true }>;
|
|
220
|
+
};
|
|
221
|
+
readonly methods: AccountBankStatementLineMethods;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/** Methods of `account.bank.statement.line`: declared ones and transitions. */
|
|
225
|
+
export interface AccountBankStatementLineMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.bank.statement.line'> {
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
/** `account.fiscal.position` (owner: accounting). */
|
|
229
|
+
export interface AccountFiscalPosition {
|
|
230
|
+
readonly name: 'account.fiscal.position';
|
|
231
|
+
readonly fields: {
|
|
232
|
+
readonly id: F.Id<'account.fiscal.position'>;
|
|
233
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
234
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
235
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
236
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
237
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
238
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
239
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
240
|
+
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
241
|
+
readonly sequence: F.Integer<{ readonly default: true }>;
|
|
242
|
+
readonly autoApply: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
243
|
+
readonly countries: F.Char;
|
|
244
|
+
readonly states: F.Char;
|
|
245
|
+
readonly vatRequired: F.Selection<'any' | 'with' | 'without', { readonly required: true; readonly default: true }>;
|
|
246
|
+
readonly note: F.Text<{ readonly translate: true }>;
|
|
247
|
+
readonly taxes: F.One2many<'account.fiscal.position.tax', { readonly required: true }>;
|
|
248
|
+
readonly accounts: F.One2many<'account.fiscal.position.account', { readonly required: true }>;
|
|
249
|
+
};
|
|
250
|
+
readonly methods: AccountFiscalPositionMethods;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/** Methods of `account.fiscal.position`: declared ones and transitions. */
|
|
254
|
+
export interface AccountFiscalPositionMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.fiscal.position'> {
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/** `account.fiscal.position.account` (owner: accounting). */
|
|
258
|
+
export interface AccountFiscalPositionAccount {
|
|
259
|
+
readonly name: 'account.fiscal.position.account';
|
|
260
|
+
readonly fields: {
|
|
261
|
+
readonly id: F.Id<'account.fiscal.position.account'>;
|
|
262
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
263
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
264
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
265
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
266
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
267
|
+
readonly position: F.Many2one<'account.fiscal.position', { readonly required: true }>;
|
|
268
|
+
readonly accountSrc: F.Many2one<'account.account', { readonly required: true }>;
|
|
269
|
+
readonly accountDest: F.Many2one<'account.account', { readonly required: true }>;
|
|
270
|
+
};
|
|
271
|
+
readonly methods: AccountFiscalPositionAccountMethods;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/** Methods of `account.fiscal.position.account`: declared ones and transitions. */
|
|
275
|
+
export interface AccountFiscalPositionAccountMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.fiscal.position.account'> {
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/** `account.fiscal.position.tax` (owner: accounting). */
|
|
279
|
+
export interface AccountFiscalPositionTax {
|
|
280
|
+
readonly name: 'account.fiscal.position.tax';
|
|
281
|
+
readonly fields: {
|
|
282
|
+
readonly id: F.Id<'account.fiscal.position.tax'>;
|
|
283
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
284
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
285
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
286
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
287
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
288
|
+
readonly position: F.Many2one<'account.fiscal.position', { readonly required: true }>;
|
|
289
|
+
readonly taxSrc: F.Many2one<'account.tax', { readonly required: true }>;
|
|
290
|
+
readonly taxDest: F.Many2one<'account.tax'>;
|
|
291
|
+
};
|
|
292
|
+
readonly methods: AccountFiscalPositionTaxMethods;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
/** Methods of `account.fiscal.position.tax`: declared ones and transitions. */
|
|
296
|
+
export interface AccountFiscalPositionTaxMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.fiscal.position.tax'> {
|
|
297
|
+
}
|
|
298
|
+
|
|
137
299
|
/** `account.fiscal.year` (owner: accounting). */
|
|
138
300
|
export interface AccountFiscalYear {
|
|
139
301
|
readonly name: 'account.fiscal.year';
|
|
@@ -160,6 +322,84 @@ export interface AccountFiscalYear {
|
|
|
160
322
|
export interface AccountFiscalYearMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.fiscal.year'> {
|
|
161
323
|
}
|
|
162
324
|
|
|
325
|
+
/** `account.followup` (owner: accounting). */
|
|
326
|
+
export interface AccountFollowup {
|
|
327
|
+
readonly name: 'account.followup';
|
|
328
|
+
readonly fields: {
|
|
329
|
+
readonly id: F.Id<'account.followup'>;
|
|
330
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
331
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
332
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
333
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
334
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
335
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
336
|
+
readonly partner: F.Many2one<'res.partner', { readonly required: true }>;
|
|
337
|
+
readonly level: F.Many2one<'account.followup.level'>;
|
|
338
|
+
readonly sentAt: F.Datetime;
|
|
339
|
+
readonly pausedUntil: F.DateOnly;
|
|
340
|
+
readonly pauseNote: F.Char;
|
|
341
|
+
};
|
|
342
|
+
readonly methods: AccountFollowupMethods;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/** Methods of `account.followup`: declared ones and transitions. */
|
|
346
|
+
export interface AccountFollowupMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.followup'> {
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/** `account.followup.level` (owner: accounting). */
|
|
350
|
+
export interface AccountFollowupLevel {
|
|
351
|
+
readonly name: 'account.followup.level';
|
|
352
|
+
readonly fields: {
|
|
353
|
+
readonly id: F.Id<'account.followup.level'>;
|
|
354
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
355
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
356
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
357
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
358
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
359
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
360
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
361
|
+
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
362
|
+
readonly days: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
363
|
+
readonly sendEmail: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
364
|
+
readonly sendSms: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
365
|
+
readonly sendWhatsapp: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
366
|
+
readonly subject: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
367
|
+
readonly body: F.Text<{ readonly required: true; readonly translate: true }>;
|
|
368
|
+
readonly shortText: F.Char<{ readonly translate: true }>;
|
|
369
|
+
readonly blockSales: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
370
|
+
};
|
|
371
|
+
readonly methods: AccountFollowupLevelMethods;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
/** Methods of `account.followup.level`: declared ones and transitions. */
|
|
375
|
+
export interface AccountFollowupLevelMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.followup.level'> {
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/** `account.followup.sent` (owner: accounting). */
|
|
379
|
+
export interface AccountFollowupSent {
|
|
380
|
+
readonly name: 'account.followup.sent';
|
|
381
|
+
readonly fields: {
|
|
382
|
+
readonly id: F.Id<'account.followup.sent'>;
|
|
383
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
384
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
385
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
386
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
387
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
388
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
389
|
+
readonly partner: F.Many2one<'res.partner', { readonly required: true }>;
|
|
390
|
+
readonly level: F.Many2one<'account.followup.level'>;
|
|
391
|
+
readonly amount: F.Char;
|
|
392
|
+
readonly invoices: F.Many2many<'account.move', { readonly required: true }>;
|
|
393
|
+
readonly channels: F.Char;
|
|
394
|
+
readonly automatic: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
395
|
+
};
|
|
396
|
+
readonly methods: AccountFollowupSentMethods;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
/** Methods of `account.followup.sent`: declared ones and transitions. */
|
|
400
|
+
export interface AccountFollowupSentMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.followup.sent'> {
|
|
401
|
+
}
|
|
402
|
+
|
|
163
403
|
/** `account.full.reconcile` (owner: accounting). */
|
|
164
404
|
export interface AccountFullReconcile {
|
|
165
405
|
readonly name: 'account.full.reconcile';
|
|
@@ -197,6 +437,8 @@ export interface AccountJournal {
|
|
|
197
437
|
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
198
438
|
readonly type: F.Selection<'sale' | 'purchase' | 'cash' | 'bank' | 'general', { readonly required: true; readonly default: true }>;
|
|
199
439
|
readonly defaultAccount: F.Many2one<'account.account'>;
|
|
440
|
+
readonly bankFeed: F.Char;
|
|
441
|
+
readonly bankFeedCursor: F.Char;
|
|
200
442
|
};
|
|
201
443
|
readonly methods: AccountJournalMethods;
|
|
202
444
|
}
|
|
@@ -238,6 +480,7 @@ export interface AccountMove {
|
|
|
238
480
|
readonly dateDue: F.DateOnly;
|
|
239
481
|
readonly paymentDetails: F.Text<{ readonly readonly: true; readonly compute: true }>;
|
|
240
482
|
readonly paymentTerm: F.Many2one<'account.payment.term'>;
|
|
483
|
+
readonly fiscalPosition: F.Many2one<'account.fiscal.position'>;
|
|
241
484
|
readonly invoiceOrigin: F.Char;
|
|
242
485
|
readonly amountUntaxed: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
243
486
|
readonly amountTax: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
@@ -266,7 +509,7 @@ export interface AccountMoveMethods extends F.Methods<typeof import('../../accou
|
|
|
266
509
|
readonly 'submit': () => Promise<void>;
|
|
267
510
|
}
|
|
268
511
|
|
|
269
|
-
/** `account.move.line` (owner: accounting). */
|
|
512
|
+
/** `account.move.line` (owner: accounting; extended by: purchase_account). */
|
|
270
513
|
export interface AccountMoveLine {
|
|
271
514
|
readonly name: 'account.move.line';
|
|
272
515
|
readonly fields: {
|
|
@@ -312,12 +555,14 @@ export interface AccountMoveLine {
|
|
|
312
555
|
readonly amountResidual: F.Monetary<'companyCurrency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
313
556
|
readonly amountResidualCurrency: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
314
557
|
readonly reconciled: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true; readonly store: true }>;
|
|
558
|
+
readonly purchaseLine: F.Many2one<'purchase.order.line'>; // purchase_account
|
|
559
|
+
readonly matchNote: F.Char<{ readonly readonly: true; readonly compute: true }>; // purchase_account
|
|
315
560
|
};
|
|
316
561
|
readonly methods: AccountMoveLineMethods;
|
|
317
562
|
}
|
|
318
563
|
|
|
319
564
|
/** Methods of `account.move.line`: declared ones and transitions. */
|
|
320
|
-
export interface AccountMoveLineMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.move.line'> {
|
|
565
|
+
export interface AccountMoveLineMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.move.line'>, F.Methods<typeof import('../../purchase_account/index.js').purchaseAccountShutro, 'account.move.line'> {
|
|
321
566
|
}
|
|
322
567
|
|
|
323
568
|
/** `account.partial.reconcile` (owner: accounting). */
|
|
@@ -446,6 +691,38 @@ export interface AccountPaymentWithholding {
|
|
|
446
691
|
export interface AccountPaymentWithholdingMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.payment.withholding'> {
|
|
447
692
|
}
|
|
448
693
|
|
|
694
|
+
/** `account.reconcile.rule` (owner: accounting). */
|
|
695
|
+
export interface AccountReconcileRule {
|
|
696
|
+
readonly name: 'account.reconcile.rule';
|
|
697
|
+
readonly fields: {
|
|
698
|
+
readonly id: F.Id<'account.reconcile.rule'>;
|
|
699
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
700
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
701
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
702
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
703
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
704
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
705
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
706
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
707
|
+
readonly sequence: F.Integer<{ readonly default: true }>;
|
|
708
|
+
readonly journals: F.Many2many<'account.journal', { readonly required: true }>;
|
|
709
|
+
readonly labelContains: F.Char;
|
|
710
|
+
readonly direction: F.Selection<'both' | 'in' | 'out', { readonly required: true; readonly default: true }>;
|
|
711
|
+
readonly amountMin: F.Decimal;
|
|
712
|
+
readonly amountMax: F.Decimal;
|
|
713
|
+
readonly partner: F.Many2one<'res.partner'>;
|
|
714
|
+
readonly outcome: F.Selection<'match' | 'write_off' | 'suggest', { readonly required: true; readonly default: true }>;
|
|
715
|
+
readonly writeOffAccount: F.Many2one<'account.account'>;
|
|
716
|
+
readonly writeOffLabel: F.Char;
|
|
717
|
+
readonly hits: F.Integer<{ readonly default: true }>;
|
|
718
|
+
};
|
|
719
|
+
readonly methods: AccountReconcileRuleMethods;
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
/** Methods of `account.reconcile.rule`: declared ones and transitions. */
|
|
723
|
+
export interface AccountReconcileRuleMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.reconcile.rule'> {
|
|
724
|
+
}
|
|
725
|
+
|
|
449
726
|
/** `account.tax` (owner: product; extended by: accounting). */
|
|
450
727
|
export interface AccountTax {
|
|
451
728
|
readonly name: 'account.tax';
|
|
@@ -555,6 +832,29 @@ export interface ApprovalDelegation {
|
|
|
555
832
|
export interface ApprovalDelegationMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.delegation'> {
|
|
556
833
|
}
|
|
557
834
|
|
|
835
|
+
/** `approval.event` (owner: permissions). */
|
|
836
|
+
export interface ApprovalEvent {
|
|
837
|
+
readonly name: 'approval.event';
|
|
838
|
+
readonly fields: {
|
|
839
|
+
readonly id: F.Id<'approval.event'>;
|
|
840
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
841
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
842
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
843
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
844
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
845
|
+
readonly request: F.Many2one<'approval.request', { readonly required: true }>;
|
|
846
|
+
readonly at: F.Datetime<{ readonly required: true }>;
|
|
847
|
+
readonly user: F.Many2one<'res.users'>;
|
|
848
|
+
readonly kind: F.Selection<'created' | 'started' | 'voted' | 'approved' | 'rejected' | 'sent_back' | 'cancelled' | 'skipped' | 'reminded' | 'escalated' | 'auto' | 'reassigned' | 'synced' | 'notified', { readonly required: true }>;
|
|
849
|
+
readonly note: F.Text;
|
|
850
|
+
};
|
|
851
|
+
readonly methods: ApprovalEventMethods;
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
/** Methods of `approval.event`: declared ones and transitions. */
|
|
855
|
+
export interface ApprovalEventMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.event'> {
|
|
856
|
+
}
|
|
857
|
+
|
|
558
858
|
/** `approval.level` (owner: permissions). */
|
|
559
859
|
export interface ApprovalLevel {
|
|
560
860
|
readonly name: 'approval.level';
|
|
@@ -569,7 +869,9 @@ export interface ApprovalLevel {
|
|
|
569
869
|
readonly sequence: F.Integer<{ readonly default: true }>;
|
|
570
870
|
readonly name: F.Char<{ readonly required: true }>;
|
|
571
871
|
readonly condition: F.Json;
|
|
572
|
-
readonly approverKind: F.Selection<'role' | 'users' | 'manager' | 'field', { readonly required: true; readonly default: true }>;
|
|
872
|
+
readonly approverKind: F.Selection<'role' | 'users' | 'manager' | 'department_head' | 'department_approvers' | 'employee' | 'field' | 'record', { readonly required: true; readonly default: true }>;
|
|
873
|
+
readonly extraUsers: F.Many2many<'res.users', { readonly required: true }>;
|
|
874
|
+
readonly backupUsers: F.Many2many<'res.users', { readonly required: true }>;
|
|
573
875
|
readonly approverRole: F.Char;
|
|
574
876
|
readonly approverUsers: F.Many2many<'res.users', { readonly required: true }>;
|
|
575
877
|
readonly approverField: F.Char;
|
|
@@ -623,11 +925,18 @@ export interface ApprovalPolicy {
|
|
|
623
925
|
readonly targetModel: F.Char<{ readonly required: true }>;
|
|
624
926
|
readonly sequence: F.Integer<{ readonly default: true }>;
|
|
625
927
|
readonly company: F.Many2one<'res.company'>;
|
|
928
|
+
readonly companies: F.Many2many<'res.company', { readonly required: true }>;
|
|
929
|
+
readonly segment: F.Many2one<'res.segment'>;
|
|
626
930
|
readonly onApproved: F.Char;
|
|
627
931
|
readonly onRejected: F.Char;
|
|
628
932
|
readonly onSentBack: F.Char;
|
|
629
933
|
readonly onWithdrawn: F.Char;
|
|
630
934
|
readonly reasonRequired: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
935
|
+
readonly condition: F.Json;
|
|
936
|
+
readonly whenNobody: F.Selection<'refuse' | 'admins' | 'skip', { readonly required: true; readonly default: true }>;
|
|
937
|
+
readonly skipDuplicates: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
938
|
+
readonly syncPending: F.Selection<'off' | 'add' | 'replace', { readonly required: true; readonly default: true }>;
|
|
939
|
+
readonly notifyOnSync: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
631
940
|
readonly levels: F.One2many<'approval.level', { readonly required: true }>;
|
|
632
941
|
};
|
|
633
942
|
readonly methods: ApprovalPolicyMethods;
|
|
@@ -656,6 +965,7 @@ export interface ApprovalRequest {
|
|
|
656
965
|
readonly company: F.Many2one<'res.company'>;
|
|
657
966
|
readonly approverRole: F.Char;
|
|
658
967
|
readonly approvers: F.Many2many<'res.users', { readonly required: true }>;
|
|
968
|
+
readonly backups: F.Many2many<'res.users', { readonly required: true }>;
|
|
659
969
|
readonly required: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
660
970
|
readonly round: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
661
971
|
readonly votes: F.One2many<'approval.vote', { readonly required: true }>;
|
|
@@ -663,6 +973,8 @@ export interface ApprovalRequest {
|
|
|
663
973
|
readonly remindedAt: F.Datetime;
|
|
664
974
|
readonly escalatedTo: F.Char;
|
|
665
975
|
readonly escalatedAt: F.Datetime;
|
|
976
|
+
readonly startedAt: F.Datetime;
|
|
977
|
+
readonly explanation: F.Text;
|
|
666
978
|
readonly state: F.Selection<'pending' | 'approved' | 'rejected' | 'sent_back' | 'cancelled', { readonly required: true; readonly default: true }>;
|
|
667
979
|
readonly requestedBy: F.Many2one<'res.users'>;
|
|
668
980
|
readonly decidedBy: F.Many2one<'res.users'>;
|
|
@@ -693,6 +1005,8 @@ export interface ApprovalVote {
|
|
|
693
1005
|
readonly at: F.Datetime<{ readonly required: true }>;
|
|
694
1006
|
readonly onBehalfOf: F.Many2one<'res.users'>;
|
|
695
1007
|
readonly ip: F.Char;
|
|
1008
|
+
readonly auto: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1009
|
+
readonly asBackup: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
696
1010
|
};
|
|
697
1011
|
readonly methods: ApprovalVoteMethods;
|
|
698
1012
|
}
|
|
@@ -1214,7 +1528,54 @@ export interface OauthToken {
|
|
|
1214
1528
|
export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
|
|
1215
1529
|
}
|
|
1216
1530
|
|
|
1217
|
-
/** `product.
|
|
1531
|
+
/** `product.attribute` (owner: product). */
|
|
1532
|
+
export interface ProductAttribute {
|
|
1533
|
+
readonly name: 'product.attribute';
|
|
1534
|
+
readonly fields: {
|
|
1535
|
+
readonly id: F.Id<'product.attribute'>;
|
|
1536
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1537
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1538
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1539
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1540
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1541
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1542
|
+
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
1543
|
+
readonly display: F.Selection<'list' | 'radio' | 'swatch' | 'size', { readonly required: true; readonly default: true }>;
|
|
1544
|
+
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1545
|
+
readonly values: F.One2many<'product.attribute.value', { readonly required: true }>;
|
|
1546
|
+
};
|
|
1547
|
+
readonly methods: ProductAttributeMethods;
|
|
1548
|
+
}
|
|
1549
|
+
|
|
1550
|
+
/** Methods of `product.attribute`: declared ones and transitions. */
|
|
1551
|
+
export interface ProductAttributeMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.attribute'> {
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1554
|
+
/** `product.attribute.value` (owner: product). */
|
|
1555
|
+
export interface ProductAttributeValue {
|
|
1556
|
+
readonly name: 'product.attribute.value';
|
|
1557
|
+
readonly fields: {
|
|
1558
|
+
readonly id: F.Id<'product.attribute.value'>;
|
|
1559
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1560
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1561
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1562
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1563
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1564
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1565
|
+
readonly attribute: F.Many2one<'product.attribute', { readonly required: true }>;
|
|
1566
|
+
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
1567
|
+
readonly color: F.Char;
|
|
1568
|
+
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1569
|
+
readonly extraPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1570
|
+
};
|
|
1571
|
+
readonly methods: ProductAttributeValueMethods;
|
|
1572
|
+
}
|
|
1573
|
+
|
|
1574
|
+
/** Methods of `product.attribute.value`: declared ones and transitions. */
|
|
1575
|
+
export interface ProductAttributeValueMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.attribute.value'> {
|
|
1576
|
+
}
|
|
1577
|
+
|
|
1578
|
+
/** `product.category` (owner: product; extended by: accounting). */
|
|
1218
1579
|
export interface ProductCategory {
|
|
1219
1580
|
readonly name: 'product.category';
|
|
1220
1581
|
readonly fields: {
|
|
@@ -1227,15 +1588,78 @@ export interface ProductCategory {
|
|
|
1227
1588
|
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1228
1589
|
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
1229
1590
|
readonly parent: F.Many2one<'product.category'>;
|
|
1591
|
+
readonly approvalUsers: F.Many2many<'res.users', { readonly required: true }>;
|
|
1592
|
+
readonly incomeAccount: F.Many2one<'account.account'>; // accounting
|
|
1593
|
+
readonly expenseAccount: F.Many2one<'account.account'>; // accounting
|
|
1230
1594
|
};
|
|
1231
1595
|
readonly methods: ProductCategoryMethods;
|
|
1232
1596
|
}
|
|
1233
1597
|
|
|
1234
1598
|
/** Methods of `product.category`: declared ones and transitions. */
|
|
1235
|
-
export interface ProductCategoryMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.category'> {
|
|
1599
|
+
export interface ProductCategoryMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.category'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'product.category'> {
|
|
1600
|
+
}
|
|
1601
|
+
|
|
1602
|
+
/** `product.pricelist` (owner: product). */
|
|
1603
|
+
export interface ProductPricelist {
|
|
1604
|
+
readonly name: 'product.pricelist';
|
|
1605
|
+
readonly fields: {
|
|
1606
|
+
readonly id: F.Id<'product.pricelist'>;
|
|
1607
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1608
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1609
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1610
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1611
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1612
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1613
|
+
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
1614
|
+
readonly sequence: F.Integer<{ readonly default: true }>;
|
|
1615
|
+
readonly currency: F.Many2one<'res.currency'>;
|
|
1616
|
+
readonly company: F.Many2one<'res.company'>;
|
|
1617
|
+
readonly rules: F.One2many<'product.pricelist.rule', { readonly required: true }>;
|
|
1618
|
+
readonly note: F.Text;
|
|
1619
|
+
};
|
|
1620
|
+
readonly methods: ProductPricelistMethods;
|
|
1621
|
+
}
|
|
1622
|
+
|
|
1623
|
+
/** Methods of `product.pricelist`: declared ones and transitions. */
|
|
1624
|
+
export interface ProductPricelistMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.pricelist'> {
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1627
|
+
/** `product.pricelist.rule` (owner: product). */
|
|
1628
|
+
export interface ProductPricelistRule {
|
|
1629
|
+
readonly name: 'product.pricelist.rule';
|
|
1630
|
+
readonly fields: {
|
|
1631
|
+
readonly id: F.Id<'product.pricelist.rule'>;
|
|
1632
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1633
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1634
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1635
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1636
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1637
|
+
readonly pricelist: F.Many2one<'product.pricelist', { readonly required: true }>;
|
|
1638
|
+
readonly sequence: F.Integer<{ readonly default: true }>;
|
|
1639
|
+
readonly appliesTo: F.Selection<'all' | 'category' | 'product', { readonly required: true; readonly default: true }>;
|
|
1640
|
+
readonly product: F.Many2one<'product.product'>;
|
|
1641
|
+
readonly category: F.Many2one<'product.category'>;
|
|
1642
|
+
readonly minQuantity: F.Decimal<{ readonly default: true }>;
|
|
1643
|
+
readonly dateFrom: F.DateOnly;
|
|
1644
|
+
readonly dateTo: F.DateOnly;
|
|
1645
|
+
readonly compute: F.Selection<'fixed' | 'discount' | 'formula', { readonly required: true; readonly default: true }>;
|
|
1646
|
+
readonly fixedPrice: F.Decimal;
|
|
1647
|
+
readonly base: F.Selection<'list' | 'cost' | 'pricelist', { readonly required: true; readonly default: true }>;
|
|
1648
|
+
readonly basePricelist: F.Many2one<'product.pricelist'>;
|
|
1649
|
+
readonly discount: F.Decimal<{ readonly default: true }>;
|
|
1650
|
+
readonly surcharge: F.Decimal<{ readonly default: true }>;
|
|
1651
|
+
readonly rounding: F.Decimal<{ readonly default: true }>;
|
|
1652
|
+
readonly minMargin: F.Decimal;
|
|
1653
|
+
readonly maxMargin: F.Decimal;
|
|
1654
|
+
};
|
|
1655
|
+
readonly methods: ProductPricelistRuleMethods;
|
|
1236
1656
|
}
|
|
1237
1657
|
|
|
1238
|
-
/** `product.
|
|
1658
|
+
/** Methods of `product.pricelist.rule`: declared ones and transitions. */
|
|
1659
|
+
export interface ProductPricelistRuleMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.pricelist.rule'> {
|
|
1660
|
+
}
|
|
1661
|
+
|
|
1662
|
+
/** `product.product` (owner: product; extended by: accounting). */
|
|
1239
1663
|
export interface ProductProduct {
|
|
1240
1664
|
readonly name: 'product.product';
|
|
1241
1665
|
readonly fields: {
|
|
@@ -1250,8 +1674,11 @@ export interface ProductProduct {
|
|
|
1250
1674
|
readonly code: F.Char<{ readonly readonly: true; readonly sequence: true }>;
|
|
1251
1675
|
readonly kind: F.Selection<'goods' | 'service', { readonly required: true; readonly default: true }>;
|
|
1252
1676
|
readonly category: F.Many2one<'product.category'>;
|
|
1677
|
+
readonly invoicePolicy: F.Selection<'ordered' | 'delivered', { readonly default: true }>;
|
|
1253
1678
|
readonly uom: F.Many2one<'uom.uom'>;
|
|
1254
1679
|
readonly barcode: F.Char;
|
|
1680
|
+
readonly weight: F.Decimal;
|
|
1681
|
+
readonly volume: F.Decimal;
|
|
1255
1682
|
readonly image: F.Many2one<'storage.attachment'>;
|
|
1256
1683
|
readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1257
1684
|
readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
@@ -1262,74 +1689,192 @@ export interface ProductProduct {
|
|
|
1262
1689
|
readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
|
|
1263
1690
|
readonly purchaseTax: F.Many2one<'account.tax', { readonly readonly: true }>;
|
|
1264
1691
|
readonly description: F.Text<{ readonly translate: true }>;
|
|
1692
|
+
readonly template: F.Many2one<'product.template'>;
|
|
1693
|
+
readonly attributeValues: F.Many2many<'product.attribute.value', { readonly required: true }>;
|
|
1694
|
+
readonly followsTemplatePrice: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1695
|
+
readonly incomeAccount: F.Many2one<'account.account'>; // accounting
|
|
1696
|
+
readonly expenseAccount: F.Many2one<'account.account'>; // accounting
|
|
1265
1697
|
};
|
|
1266
1698
|
readonly methods: ProductProductMethods;
|
|
1267
1699
|
}
|
|
1268
1700
|
|
|
1269
1701
|
/** Methods of `product.product`: declared ones and transitions. */
|
|
1270
|
-
export interface ProductProductMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.product'> {
|
|
1702
|
+
export interface ProductProductMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.product'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'product.product'> {
|
|
1271
1703
|
}
|
|
1272
1704
|
|
|
1273
|
-
/** `
|
|
1274
|
-
export interface
|
|
1275
|
-
readonly name: '
|
|
1705
|
+
/** `product.template` (owner: product). */
|
|
1706
|
+
export interface ProductTemplate {
|
|
1707
|
+
readonly name: 'product.template';
|
|
1276
1708
|
readonly fields: {
|
|
1277
|
-
readonly id: F.Id<'
|
|
1709
|
+
readonly id: F.Id<'product.template'>;
|
|
1278
1710
|
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1279
1711
|
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1280
1712
|
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1281
1713
|
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1282
1714
|
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1283
|
-
readonly
|
|
1284
|
-
readonly
|
|
1285
|
-
readonly
|
|
1286
|
-
readonly
|
|
1287
|
-
readonly
|
|
1288
|
-
readonly
|
|
1289
|
-
readonly
|
|
1290
|
-
readonly
|
|
1715
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1716
|
+
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
1717
|
+
readonly kind: F.Selection<'goods' | 'service', { readonly required: true; readonly default: true }>;
|
|
1718
|
+
readonly category: F.Many2one<'product.category'>;
|
|
1719
|
+
readonly uom: F.Many2one<'uom.uom'>;
|
|
1720
|
+
readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1721
|
+
readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1722
|
+
readonly saleOk: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1723
|
+
readonly purchaseOk: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1724
|
+
readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
|
|
1725
|
+
readonly purchaseTaxes: F.Many2many<'account.tax', { readonly required: true }>;
|
|
1726
|
+
readonly image: F.Many2one<'storage.attachment'>;
|
|
1727
|
+
readonly description: F.Text<{ readonly translate: true }>;
|
|
1728
|
+
readonly lines: F.One2many<'product.template.line', { readonly required: true }>;
|
|
1729
|
+
readonly exclusions: F.One2many<'product.template.exclusion', { readonly required: true }>;
|
|
1730
|
+
readonly variants: F.One2many<'product.product', { readonly required: true }>;
|
|
1731
|
+
readonly variantCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1732
|
+
readonly state: F.State<'draft' | 'ready', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
1291
1733
|
};
|
|
1292
|
-
readonly methods:
|
|
1734
|
+
readonly methods: ProductTemplateMethods;
|
|
1293
1735
|
}
|
|
1294
1736
|
|
|
1295
|
-
/** Methods of `
|
|
1296
|
-
export interface
|
|
1737
|
+
/** Methods of `product.template`: declared ones and transitions. */
|
|
1738
|
+
export interface ProductTemplateMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template'> {
|
|
1739
|
+
readonly 'generate': () => Promise<void>;
|
|
1297
1740
|
}
|
|
1298
1741
|
|
|
1299
|
-
/** `
|
|
1300
|
-
export interface
|
|
1301
|
-
readonly name: '
|
|
1742
|
+
/** `product.template.exclusion` (owner: product). */
|
|
1743
|
+
export interface ProductTemplateExclusion {
|
|
1744
|
+
readonly name: 'product.template.exclusion';
|
|
1302
1745
|
readonly fields: {
|
|
1303
|
-
readonly id: F.Id<'
|
|
1746
|
+
readonly id: F.Id<'product.template.exclusion'>;
|
|
1304
1747
|
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1305
1748
|
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1306
1749
|
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1307
1750
|
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1308
1751
|
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1309
|
-
readonly
|
|
1310
|
-
readonly
|
|
1311
|
-
readonly
|
|
1312
|
-
readonly title: F.Char<{ readonly required: true }>;
|
|
1313
|
-
readonly requester: F.Many2one<'res.users', { readonly default: true }>;
|
|
1314
|
-
readonly sponsor: F.Many2one<'res.users', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1315
|
-
readonly reason: F.Text<{ readonly required: true }>;
|
|
1316
|
-
readonly impact: F.Text;
|
|
1317
|
-
readonly newDateEnd: F.DateOnly;
|
|
1318
|
-
readonly newBudget: F.Decimal;
|
|
1319
|
-
readonly previousDateEnd: F.DateOnly;
|
|
1320
|
-
readonly previousBaselineEnd: F.DateOnly;
|
|
1321
|
-
readonly previousBudget: F.Decimal;
|
|
1322
|
-
readonly appliedAt: F.Datetime;
|
|
1323
|
-
readonly state: F.State<'draft' | 'submitted' | 'applied' | 'rejected' | 'cancelled', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
1752
|
+
readonly template: F.Many2one<'product.template', { readonly required: true }>;
|
|
1753
|
+
readonly values: F.Many2many<'product.attribute.value', { readonly required: true }>;
|
|
1754
|
+
readonly note: F.Char;
|
|
1324
1755
|
};
|
|
1325
|
-
readonly methods:
|
|
1756
|
+
readonly methods: ProductTemplateExclusionMethods;
|
|
1326
1757
|
}
|
|
1327
1758
|
|
|
1328
|
-
/** Methods of `
|
|
1329
|
-
export interface
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1759
|
+
/** Methods of `product.template.exclusion`: declared ones and transitions. */
|
|
1760
|
+
export interface ProductTemplateExclusionMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template.exclusion'> {
|
|
1761
|
+
}
|
|
1762
|
+
|
|
1763
|
+
/** `product.template.line` (owner: product). */
|
|
1764
|
+
export interface ProductTemplateLine {
|
|
1765
|
+
readonly name: 'product.template.line';
|
|
1766
|
+
readonly fields: {
|
|
1767
|
+
readonly id: F.Id<'product.template.line'>;
|
|
1768
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1769
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1770
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1771
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1772
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1773
|
+
readonly template: F.Many2one<'product.template', { readonly required: true }>;
|
|
1774
|
+
readonly attribute: F.Many2one<'product.attribute', { readonly required: true }>;
|
|
1775
|
+
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1776
|
+
readonly values: F.Many2many<'product.attribute.value', { readonly required: true }>;
|
|
1777
|
+
};
|
|
1778
|
+
readonly methods: ProductTemplateLineMethods;
|
|
1779
|
+
}
|
|
1780
|
+
|
|
1781
|
+
/** Methods of `product.template.line`: declared ones and transitions. */
|
|
1782
|
+
export interface ProductTemplateLineMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.template.line'> {
|
|
1783
|
+
}
|
|
1784
|
+
|
|
1785
|
+
/** `product.vendor.price` (owner: purchase). */
|
|
1786
|
+
export interface ProductVendorPrice {
|
|
1787
|
+
readonly name: 'product.vendor.price';
|
|
1788
|
+
readonly fields: {
|
|
1789
|
+
readonly id: F.Id<'product.vendor.price'>;
|
|
1790
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1791
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1792
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1793
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1794
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1795
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1796
|
+
readonly company: F.Many2one<'res.company', { readonly default: true }>;
|
|
1797
|
+
readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
|
|
1798
|
+
readonly product: F.Many2one<'product.product'>;
|
|
1799
|
+
readonly category: F.Many2one<'product.category'>;
|
|
1800
|
+
readonly vendorCode: F.Char;
|
|
1801
|
+
readonly vendorName: F.Char;
|
|
1802
|
+
readonly currency: F.Many2one<'res.currency'>;
|
|
1803
|
+
readonly minQuantity: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1804
|
+
readonly price: F.Decimal<{ readonly required: true }>;
|
|
1805
|
+
readonly dateFrom: F.DateOnly;
|
|
1806
|
+
readonly dateTo: F.DateOnly;
|
|
1807
|
+
readonly leadDays: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1808
|
+
readonly preferred: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1809
|
+
readonly sequence: F.Integer<{ readonly default: true }>;
|
|
1810
|
+
};
|
|
1811
|
+
readonly methods: ProductVendorPriceMethods;
|
|
1812
|
+
}
|
|
1813
|
+
|
|
1814
|
+
/** Methods of `product.vendor.price`: declared ones and transitions. */
|
|
1815
|
+
export interface ProductVendorPriceMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'product.vendor.price'> {
|
|
1816
|
+
}
|
|
1817
|
+
|
|
1818
|
+
/** `project.budget.line` (owner: project). */
|
|
1819
|
+
export interface ProjectBudgetLine {
|
|
1820
|
+
readonly name: 'project.budget.line';
|
|
1821
|
+
readonly fields: {
|
|
1822
|
+
readonly id: F.Id<'project.budget.line'>;
|
|
1823
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1824
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1825
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1826
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1827
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1828
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
1829
|
+
readonly project: F.Many2one<'project.project', { readonly required: true }>;
|
|
1830
|
+
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1831
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
1832
|
+
readonly category: F.Selection<'labour' | 'materials' | 'services' | 'equipment' | 'other', { readonly required: true; readonly default: true }>;
|
|
1833
|
+
readonly phase: F.Many2one<'project.phase'>;
|
|
1834
|
+
readonly workPackage: F.Many2one<'project.work.package'>;
|
|
1835
|
+
readonly planned: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1836
|
+
};
|
|
1837
|
+
readonly methods: ProjectBudgetLineMethods;
|
|
1838
|
+
}
|
|
1839
|
+
|
|
1840
|
+
/** Methods of `project.budget.line`: declared ones and transitions. */
|
|
1841
|
+
export interface ProjectBudgetLineMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.budget.line'> {
|
|
1842
|
+
}
|
|
1843
|
+
|
|
1844
|
+
/** `project.change` (owner: project). */
|
|
1845
|
+
export interface ProjectChange {
|
|
1846
|
+
readonly name: 'project.change';
|
|
1847
|
+
readonly fields: {
|
|
1848
|
+
readonly id: F.Id<'project.change'>;
|
|
1849
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1850
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1851
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1852
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1853
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1854
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
1855
|
+
readonly name: F.Char<{ readonly readonly: true; readonly sequence: true }>;
|
|
1856
|
+
readonly project: F.Many2one<'project.project', { readonly required: true }>;
|
|
1857
|
+
readonly title: F.Char<{ readonly required: true }>;
|
|
1858
|
+
readonly requester: F.Many2one<'res.users', { readonly default: true }>;
|
|
1859
|
+
readonly sponsor: F.Many2one<'res.users', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1860
|
+
readonly reason: F.Text<{ readonly required: true }>;
|
|
1861
|
+
readonly impact: F.Text;
|
|
1862
|
+
readonly newDateEnd: F.DateOnly;
|
|
1863
|
+
readonly newBudget: F.Decimal;
|
|
1864
|
+
readonly previousDateEnd: F.DateOnly;
|
|
1865
|
+
readonly previousBaselineEnd: F.DateOnly;
|
|
1866
|
+
readonly previousBudget: F.Decimal;
|
|
1867
|
+
readonly appliedAt: F.Datetime;
|
|
1868
|
+
readonly state: F.State<'draft' | 'submitted' | 'applied' | 'rejected' | 'cancelled', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
1869
|
+
};
|
|
1870
|
+
readonly methods: ProjectChangeMethods;
|
|
1871
|
+
}
|
|
1872
|
+
|
|
1873
|
+
/** Methods of `project.change`: declared ones and transitions. */
|
|
1874
|
+
export interface ProjectChangeMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.change'> {
|
|
1875
|
+
readonly 'approve': () => Promise<void>;
|
|
1876
|
+
readonly 'cancel': () => Promise<void>;
|
|
1877
|
+
readonly 'redraft': () => Promise<void>;
|
|
1333
1878
|
readonly 'reject': () => Promise<void>;
|
|
1334
1879
|
readonly 'submit': () => Promise<void>;
|
|
1335
1880
|
}
|
|
@@ -1859,6 +2404,131 @@ export interface ProjectWorkPackage {
|
|
|
1859
2404
|
export interface ProjectWorkPackageMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.work.package'> {
|
|
1860
2405
|
}
|
|
1861
2406
|
|
|
2407
|
+
/** `purchase.agreement` (owner: purchase). */
|
|
2408
|
+
export interface PurchaseAgreement {
|
|
2409
|
+
readonly name: 'purchase.agreement';
|
|
2410
|
+
readonly fields: {
|
|
2411
|
+
readonly id: F.Id<'purchase.agreement'>;
|
|
2412
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2413
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2414
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2415
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2416
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2417
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
2418
|
+
readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
|
|
2419
|
+
readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
|
|
2420
|
+
readonly buyer: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
|
|
2421
|
+
readonly kind: F.Selection<'blanket' | 'contract', { readonly required: true; readonly default: true }>;
|
|
2422
|
+
readonly reference: F.Char;
|
|
2423
|
+
readonly dateStart: F.DateOnly;
|
|
2424
|
+
readonly dateEnd: F.DateOnly;
|
|
2425
|
+
readonly currency: F.Many2one<'res.currency'>;
|
|
2426
|
+
readonly note: F.Text;
|
|
2427
|
+
readonly lines: F.One2many<'purchase.agreement.line', { readonly required: true }>;
|
|
2428
|
+
readonly orders: F.One2many<'purchase.order', { readonly required: true }>;
|
|
2429
|
+
readonly state: F.State<'draft' | 'confirmed' | 'closed' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
2430
|
+
};
|
|
2431
|
+
readonly methods: PurchaseAgreementMethods;
|
|
2432
|
+
}
|
|
2433
|
+
|
|
2434
|
+
/** Methods of `purchase.agreement`: declared ones and transitions. */
|
|
2435
|
+
export interface PurchaseAgreementMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.agreement'> {
|
|
2436
|
+
readonly 'cancel': () => Promise<void>;
|
|
2437
|
+
readonly 'close': () => Promise<void>;
|
|
2438
|
+
readonly 'confirm': () => Promise<void>;
|
|
2439
|
+
readonly 'redraft': () => Promise<void>;
|
|
2440
|
+
}
|
|
2441
|
+
|
|
2442
|
+
/** `purchase.agreement.line` (owner: purchase). */
|
|
2443
|
+
export interface PurchaseAgreementLine {
|
|
2444
|
+
readonly name: 'purchase.agreement.line';
|
|
2445
|
+
readonly fields: {
|
|
2446
|
+
readonly id: F.Id<'purchase.agreement.line'>;
|
|
2447
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2448
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2449
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2450
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2451
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2452
|
+
readonly agreement: F.Many2one<'purchase.agreement', { readonly required: true }>;
|
|
2453
|
+
readonly product: F.Many2one<'product.product', { readonly required: true }>;
|
|
2454
|
+
readonly name: F.Char;
|
|
2455
|
+
readonly quantity: F.Decimal;
|
|
2456
|
+
readonly uom: F.Many2one<'uom.uom'>;
|
|
2457
|
+
readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
2458
|
+
readonly qtyOrdered: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2459
|
+
};
|
|
2460
|
+
readonly methods: PurchaseAgreementLineMethods;
|
|
2461
|
+
}
|
|
2462
|
+
|
|
2463
|
+
/** Methods of `purchase.agreement.line`: declared ones and transitions. */
|
|
2464
|
+
export interface PurchaseAgreementLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.agreement.line'> {
|
|
2465
|
+
}
|
|
2466
|
+
|
|
2467
|
+
/** `purchase.comparison` (owner: purchase). */
|
|
2468
|
+
export interface PurchaseComparison {
|
|
2469
|
+
readonly name: 'purchase.comparison';
|
|
2470
|
+
readonly fields: {
|
|
2471
|
+
readonly id: F.Id<'purchase.comparison'>;
|
|
2472
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2473
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2474
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2475
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2476
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2477
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
2478
|
+
readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
|
|
2479
|
+
readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
|
|
2480
|
+
readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
|
|
2481
|
+
readonly expiryDate: F.DateOnly;
|
|
2482
|
+
readonly dateDelivery: F.DateOnly;
|
|
2483
|
+
readonly multiVendor: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
2484
|
+
readonly note: F.Text;
|
|
2485
|
+
readonly lines: F.One2many<'purchase.comparison.line', { readonly required: true }>;
|
|
2486
|
+
readonly amountTotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2487
|
+
readonly state: F.State<'draft' | 'submitted' | 'approved' | 'confirmed' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
2488
|
+
};
|
|
2489
|
+
readonly methods: PurchaseComparisonMethods;
|
|
2490
|
+
}
|
|
2491
|
+
|
|
2492
|
+
/** Methods of `purchase.comparison`: declared ones and transitions. */
|
|
2493
|
+
export interface PurchaseComparisonMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.comparison'> {
|
|
2494
|
+
readonly 'approve': () => Promise<void>;
|
|
2495
|
+
readonly 'cancel': () => Promise<void>;
|
|
2496
|
+
readonly 'confirm': () => Promise<void>;
|
|
2497
|
+
readonly 'fill': () => Promise<void>;
|
|
2498
|
+
readonly 'redraft': () => Promise<void>;
|
|
2499
|
+
readonly 'reject': () => Promise<void>;
|
|
2500
|
+
readonly 'submit': () => Promise<void>;
|
|
2501
|
+
}
|
|
2502
|
+
|
|
2503
|
+
/** `purchase.comparison.line` (owner: purchase). */
|
|
2504
|
+
export interface PurchaseComparisonLine {
|
|
2505
|
+
readonly name: 'purchase.comparison.line';
|
|
2506
|
+
readonly fields: {
|
|
2507
|
+
readonly id: F.Id<'purchase.comparison.line'>;
|
|
2508
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2509
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2510
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2511
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2512
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2513
|
+
readonly comparison: F.Many2one<'purchase.comparison', { readonly required: true }>;
|
|
2514
|
+
readonly tenderLine: F.Many2one<'purchase.tender.line', { readonly required: true }>;
|
|
2515
|
+
readonly response: F.Many2one<'purchase.tender.response', { readonly required: true }>;
|
|
2516
|
+
readonly csQty: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
2517
|
+
readonly quote: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
2518
|
+
readonly nego1: F.Decimal;
|
|
2519
|
+
readonly nego2: F.Decimal;
|
|
2520
|
+
readonly finalPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
2521
|
+
readonly total: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2522
|
+
readonly selected: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
2523
|
+
readonly lowest: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true; readonly store: true }>;
|
|
2524
|
+
};
|
|
2525
|
+
readonly methods: PurchaseComparisonLineMethods;
|
|
2526
|
+
}
|
|
2527
|
+
|
|
2528
|
+
/** Methods of `purchase.comparison.line`: declared ones and transitions. */
|
|
2529
|
+
export interface PurchaseComparisonLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.comparison.line'> {
|
|
2530
|
+
}
|
|
2531
|
+
|
|
1862
2532
|
/** `purchase.order` (owner: purchase; extended by: purchase_account). */
|
|
1863
2533
|
export interface PurchaseOrder {
|
|
1864
2534
|
readonly name: 'purchase.order';
|
|
@@ -1879,6 +2549,12 @@ export interface PurchaseOrder {
|
|
|
1879
2549
|
readonly datePlanned: F.DateOnly;
|
|
1880
2550
|
readonly origin: F.Char;
|
|
1881
2551
|
readonly note: F.Text;
|
|
2552
|
+
readonly poType: F.Selection<'general' | 'service' | 'capital', { readonly required: true; readonly default: true }>;
|
|
2553
|
+
readonly sourcing: F.Selection<'local' | 'import', { readonly required: true; readonly default: true }>;
|
|
2554
|
+
readonly advancePercent: F.Decimal<{ readonly default: true }>;
|
|
2555
|
+
readonly agreement: F.Many2one<'purchase.agreement'>;
|
|
2556
|
+
readonly acceptances: F.One2many<'purchase.work.acceptance', { readonly required: true }>;
|
|
2557
|
+
readonly acceptanceCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1882
2558
|
readonly lines: F.One2many<'purchase.order.line', { readonly required: true }>;
|
|
1883
2559
|
readonly amountUntaxed: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1884
2560
|
readonly amountTax: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
@@ -1897,13 +2573,14 @@ export interface PurchaseOrderMethods extends F.Methods<typeof import('../../pur
|
|
|
1897
2573
|
readonly 'confirm': () => Promise<void>;
|
|
1898
2574
|
readonly 'lock': () => Promise<void>;
|
|
1899
2575
|
readonly 'redraft': () => Promise<void>;
|
|
2576
|
+
readonly 'refund': () => Promise<void>;
|
|
1900
2577
|
readonly 'reject': () => Promise<void>;
|
|
1901
2578
|
readonly 'send': () => Promise<void>;
|
|
1902
2579
|
readonly 'submit': () => Promise<void>;
|
|
1903
2580
|
readonly 'unlock': () => Promise<void>;
|
|
1904
2581
|
}
|
|
1905
2582
|
|
|
1906
|
-
/** `purchase.order.line` (owner: purchase; extended by: purchase_account). */
|
|
2583
|
+
/** `purchase.order.line` (owner: purchase; extended by: purchase_account, purchase_account). */
|
|
1907
2584
|
export interface PurchaseOrderLine {
|
|
1908
2585
|
readonly name: 'purchase.order.line';
|
|
1909
2586
|
readonly fields: {
|
|
@@ -1918,20 +2595,388 @@ export interface PurchaseOrderLine {
|
|
|
1918
2595
|
readonly name: F.Char<{ readonly required: true }>;
|
|
1919
2596
|
readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1920
2597
|
readonly uom: F.Many2one<'uom.uom'>;
|
|
1921
|
-
readonly priceUnit: F.Decimal<{ readonly
|
|
2598
|
+
readonly priceUnit: F.Decimal<{ readonly compute: true; readonly store: true; readonly inverse: true }>;
|
|
2599
|
+
readonly manualPrice: F.Decimal;
|
|
2600
|
+
readonly priceReason: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2601
|
+
readonly vendorCode: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1922
2602
|
readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
|
|
1923
2603
|
readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
|
|
1924
2604
|
readonly datePlanned: F.DateOnly;
|
|
2605
|
+
readonly acceptanceLines: F.One2many<'purchase.work.acceptance.line', { readonly required: true }>;
|
|
2606
|
+
readonly qtyAccepted: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2607
|
+
readonly requestLine: F.Many2one<'purchase.request.line'>;
|
|
1925
2608
|
readonly currency: F.Many2one<'res.currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1926
2609
|
readonly subtotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1927
2610
|
readonly taxAmount: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1928
2611
|
readonly analytic: F.Many2one<'account.analytic'>; // purchase_account
|
|
2612
|
+
readonly billLines: F.One2many<'account.move.line', { readonly required: true }>; // purchase_account
|
|
2613
|
+
readonly qtyBilled: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>; // purchase_account
|
|
1929
2614
|
};
|
|
1930
2615
|
readonly methods: PurchaseOrderLineMethods;
|
|
1931
2616
|
}
|
|
1932
2617
|
|
|
1933
2618
|
/** Methods of `purchase.order.line`: declared ones and transitions. */
|
|
1934
|
-
export interface PurchaseOrderLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.order.line'>, F.Methods<typeof import('../../purchase_account/index.js').purchaseAccountShutro, 'purchase.order.line'> {
|
|
2619
|
+
export interface PurchaseOrderLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.order.line'>, F.Methods<typeof import('../../purchase_account/index.js').purchaseAccountShutro, 'purchase.order.line'>, F.Methods<typeof import('../../purchase_account/index.js').purchaseAccountShutro, 'purchase.order.line'> {
|
|
2620
|
+
}
|
|
2621
|
+
|
|
2622
|
+
/** `purchase.request` (owner: purchase). */
|
|
2623
|
+
export interface PurchaseRequest {
|
|
2624
|
+
readonly name: 'purchase.request';
|
|
2625
|
+
readonly fields: {
|
|
2626
|
+
readonly id: F.Id<'purchase.request'>;
|
|
2627
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2628
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2629
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2630
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2631
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2632
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
2633
|
+
readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
|
|
2634
|
+
readonly requester: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
|
|
2635
|
+
readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
|
|
2636
|
+
readonly dateRequired: F.DateOnly<{ readonly required: true; readonly default: true }>;
|
|
2637
|
+
readonly priority: F.Selection<'normal' | 'high' | 'urgent' | 'critical', { readonly required: true; readonly default: true }>;
|
|
2638
|
+
readonly vendor: F.Many2one<'res.partner'>;
|
|
2639
|
+
readonly purpose: F.Text;
|
|
2640
|
+
readonly lines: F.One2many<'purchase.request.line', { readonly required: true }>;
|
|
2641
|
+
readonly amountEstimate: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2642
|
+
readonly rejectReason: F.Char;
|
|
2643
|
+
readonly state: F.State<'draft' | 'to_approve' | 'approved' | 'done' | 'rejected' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
2644
|
+
};
|
|
2645
|
+
readonly methods: PurchaseRequestMethods;
|
|
2646
|
+
}
|
|
2647
|
+
|
|
2648
|
+
/** Methods of `purchase.request`: declared ones and transitions. */
|
|
2649
|
+
export interface PurchaseRequestMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.request'> {
|
|
2650
|
+
readonly 'approve': () => Promise<void>;
|
|
2651
|
+
readonly 'cancel': () => Promise<void>;
|
|
2652
|
+
readonly 'close': () => Promise<void>;
|
|
2653
|
+
readonly 'redraft': () => Promise<void>;
|
|
2654
|
+
readonly 'reject': () => Promise<void>;
|
|
2655
|
+
readonly 'rfq': () => Promise<void>;
|
|
2656
|
+
readonly 'submit': () => Promise<void>;
|
|
2657
|
+
readonly 'tender': () => Promise<void>;
|
|
2658
|
+
}
|
|
2659
|
+
|
|
2660
|
+
/** `purchase.request.line` (owner: purchase). */
|
|
2661
|
+
export interface PurchaseRequestLine {
|
|
2662
|
+
readonly name: 'purchase.request.line';
|
|
2663
|
+
readonly fields: {
|
|
2664
|
+
readonly id: F.Id<'purchase.request.line'>;
|
|
2665
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2666
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2667
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2668
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2669
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2670
|
+
readonly request: F.Many2one<'purchase.request', { readonly required: true }>;
|
|
2671
|
+
readonly product: F.Many2one<'product.product', { readonly required: true }>;
|
|
2672
|
+
readonly name: F.Char;
|
|
2673
|
+
readonly uom: F.Many2one<'uom.uom'>;
|
|
2674
|
+
readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
2675
|
+
readonly qtyApproved: F.Decimal;
|
|
2676
|
+
readonly dateRequired: F.DateOnly;
|
|
2677
|
+
readonly buyers: F.Many2many<'res.users', { readonly required: true }>;
|
|
2678
|
+
readonly purchaseLines: F.One2many<'purchase.order.line', { readonly required: true }>;
|
|
2679
|
+
readonly tenderLines: F.One2many<'purchase.tender.line', { readonly required: true }>;
|
|
2680
|
+
readonly qtyOnRfq: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2681
|
+
readonly qtyOrdered: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2682
|
+
readonly qtyRemaining: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2683
|
+
readonly status: F.Selection<'draft' | 'to_approve' | 'approved' | 'rfq' | 'ordered' | 'done' | 'cancelled', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2684
|
+
};
|
|
2685
|
+
readonly methods: PurchaseRequestLineMethods;
|
|
2686
|
+
}
|
|
2687
|
+
|
|
2688
|
+
/** Methods of `purchase.request.line`: declared ones and transitions. */
|
|
2689
|
+
export interface PurchaseRequestLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.request.line'> {
|
|
2690
|
+
}
|
|
2691
|
+
|
|
2692
|
+
/** `purchase.technical.comparison` (owner: purchase). */
|
|
2693
|
+
export interface PurchaseTechnicalComparison {
|
|
2694
|
+
readonly name: 'purchase.technical.comparison';
|
|
2695
|
+
readonly fields: {
|
|
2696
|
+
readonly id: F.Id<'purchase.technical.comparison'>;
|
|
2697
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2698
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2699
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2700
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2701
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2702
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
2703
|
+
readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
|
|
2704
|
+
readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
|
|
2705
|
+
readonly engineer: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
|
|
2706
|
+
readonly kind: F.Selection<'simple' | 'detailed', { readonly required: true; readonly default: true }>;
|
|
2707
|
+
readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
|
|
2708
|
+
readonly remarks: F.Text;
|
|
2709
|
+
readonly lines: F.One2many<'purchase.technical.comparison.line', { readonly required: true }>;
|
|
2710
|
+
readonly state: F.State<'draft' | 'submitted' | 'approved' | 'confirmed' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
2711
|
+
};
|
|
2712
|
+
readonly methods: PurchaseTechnicalComparisonMethods;
|
|
2713
|
+
}
|
|
2714
|
+
|
|
2715
|
+
/** Methods of `purchase.technical.comparison`: declared ones and transitions. */
|
|
2716
|
+
export interface PurchaseTechnicalComparisonMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.technical.comparison'> {
|
|
2717
|
+
readonly 'approve': () => Promise<void>;
|
|
2718
|
+
readonly 'cancel': () => Promise<void>;
|
|
2719
|
+
readonly 'confirm': () => Promise<void>;
|
|
2720
|
+
readonly 'fill': () => Promise<void>;
|
|
2721
|
+
readonly 'redraft': () => Promise<void>;
|
|
2722
|
+
readonly 'submit': () => Promise<void>;
|
|
2723
|
+
}
|
|
2724
|
+
|
|
2725
|
+
/** `purchase.technical.comparison.line` (owner: purchase). */
|
|
2726
|
+
export interface PurchaseTechnicalComparisonLine {
|
|
2727
|
+
readonly name: 'purchase.technical.comparison.line';
|
|
2728
|
+
readonly fields: {
|
|
2729
|
+
readonly id: F.Id<'purchase.technical.comparison.line'>;
|
|
2730
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2731
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2732
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2733
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2734
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2735
|
+
readonly comparison: F.Many2one<'purchase.technical.comparison', { readonly required: true }>;
|
|
2736
|
+
readonly response: F.Many2one<'purchase.tender.response', { readonly required: true }>;
|
|
2737
|
+
readonly score: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
2738
|
+
readonly meetsSpecifications: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
2739
|
+
readonly note: F.Char;
|
|
2740
|
+
};
|
|
2741
|
+
readonly methods: PurchaseTechnicalComparisonLineMethods;
|
|
2742
|
+
}
|
|
2743
|
+
|
|
2744
|
+
/** Methods of `purchase.technical.comparison.line`: declared ones and transitions. */
|
|
2745
|
+
export interface PurchaseTechnicalComparisonLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.technical.comparison.line'> {
|
|
2746
|
+
}
|
|
2747
|
+
|
|
2748
|
+
/** `purchase.tender` (owner: purchase). */
|
|
2749
|
+
export interface PurchaseTender {
|
|
2750
|
+
readonly name: 'purchase.tender';
|
|
2751
|
+
readonly fields: {
|
|
2752
|
+
readonly id: F.Id<'purchase.tender'>;
|
|
2753
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2754
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2755
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2756
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2757
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2758
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
2759
|
+
readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
|
|
2760
|
+
readonly buyer: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
|
|
2761
|
+
readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
|
|
2762
|
+
readonly deadline: F.DateOnly<{ readonly required: true }>;
|
|
2763
|
+
readonly dateDelivery: F.DateOnly;
|
|
2764
|
+
readonly sourcing: F.Selection<'local' | 'import', { readonly required: true; readonly default: true }>;
|
|
2765
|
+
readonly topic: F.Char;
|
|
2766
|
+
readonly vendors: F.Many2many<'res.partner', { readonly required: true }>;
|
|
2767
|
+
readonly currency: F.Many2one<'res.currency'>;
|
|
2768
|
+
readonly paymentTerms: F.Char;
|
|
2769
|
+
readonly technical: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
2770
|
+
readonly note: F.Text;
|
|
2771
|
+
readonly request: F.Many2one<'purchase.request'>;
|
|
2772
|
+
readonly lines: F.One2many<'purchase.tender.line', { readonly required: true }>;
|
|
2773
|
+
readonly responses: F.One2many<'purchase.tender.response', { readonly required: true }>;
|
|
2774
|
+
readonly responseCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2775
|
+
readonly state: F.State<'draft' | 'sent' | 'received' | 'comparing' | 'selected' | 'ordered' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
2776
|
+
};
|
|
2777
|
+
readonly methods: PurchaseTenderMethods;
|
|
2778
|
+
}
|
|
2779
|
+
|
|
2780
|
+
/** Methods of `purchase.tender`: declared ones and transitions. */
|
|
2781
|
+
export interface PurchaseTenderMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender'> {
|
|
2782
|
+
readonly 'cancel': () => Promise<void>;
|
|
2783
|
+
readonly 'close': () => Promise<void>;
|
|
2784
|
+
readonly 'compare': () => Promise<void>;
|
|
2785
|
+
readonly 'order': () => Promise<void>;
|
|
2786
|
+
readonly 'redraft': () => Promise<void>;
|
|
2787
|
+
readonly 'select': () => Promise<void>;
|
|
2788
|
+
readonly 'send': () => Promise<void>;
|
|
2789
|
+
}
|
|
2790
|
+
|
|
2791
|
+
/** `purchase.tender.line` (owner: purchase). */
|
|
2792
|
+
export interface PurchaseTenderLine {
|
|
2793
|
+
readonly name: 'purchase.tender.line';
|
|
2794
|
+
readonly fields: {
|
|
2795
|
+
readonly id: F.Id<'purchase.tender.line'>;
|
|
2796
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2797
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2798
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2799
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2800
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2801
|
+
readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
|
|
2802
|
+
readonly sequence: F.Integer<{ readonly default: true }>;
|
|
2803
|
+
readonly product: F.Many2one<'product.product', { readonly required: true }>;
|
|
2804
|
+
readonly name: F.Char;
|
|
2805
|
+
readonly uom: F.Many2one<'uom.uom'>;
|
|
2806
|
+
readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
2807
|
+
readonly requestLine: F.Many2one<'purchase.request.line'>;
|
|
2808
|
+
};
|
|
2809
|
+
readonly methods: PurchaseTenderLineMethods;
|
|
2810
|
+
}
|
|
2811
|
+
|
|
2812
|
+
/** Methods of `purchase.tender.line`: declared ones and transitions. */
|
|
2813
|
+
export interface PurchaseTenderLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender.line'> {
|
|
2814
|
+
}
|
|
2815
|
+
|
|
2816
|
+
/** `purchase.tender.response` (owner: purchase). */
|
|
2817
|
+
export interface PurchaseTenderResponse {
|
|
2818
|
+
readonly name: 'purchase.tender.response';
|
|
2819
|
+
readonly fields: {
|
|
2820
|
+
readonly id: F.Id<'purchase.tender.response'>;
|
|
2821
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2822
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2823
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2824
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2825
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2826
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
2827
|
+
readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
|
|
2828
|
+
readonly tender: F.Many2one<'purchase.tender', { readonly required: true }>;
|
|
2829
|
+
readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
|
|
2830
|
+
readonly responseDate: F.Datetime;
|
|
2831
|
+
readonly dateDelivery: F.DateOnly;
|
|
2832
|
+
readonly paymentTerms: F.Char;
|
|
2833
|
+
readonly advancePercent: F.Decimal<{ readonly default: true }>;
|
|
2834
|
+
readonly technicalRank: F.Integer<{ readonly default: true }>;
|
|
2835
|
+
readonly remark: F.Text;
|
|
2836
|
+
readonly lines: F.One2many<'purchase.tender.response.line', { readonly required: true }>;
|
|
2837
|
+
readonly amountTotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2838
|
+
readonly tokenHash: F.Char;
|
|
2839
|
+
readonly tokenExpiresAt: F.Datetime;
|
|
2840
|
+
readonly state: F.State<'invited' | 'quoted' | 'submitted' | 'not_responded' | 'rejected', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
2841
|
+
};
|
|
2842
|
+
readonly methods: PurchaseTenderResponseMethods;
|
|
2843
|
+
}
|
|
2844
|
+
|
|
2845
|
+
/** Methods of `purchase.tender.response`: declared ones and transitions. */
|
|
2846
|
+
export interface PurchaseTenderResponseMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender.response'> {
|
|
2847
|
+
readonly 'quote': () => Promise<void>;
|
|
2848
|
+
readonly 'reject': () => Promise<void>;
|
|
2849
|
+
readonly 'reopen': () => Promise<void>;
|
|
2850
|
+
readonly 'submit': () => Promise<void>;
|
|
2851
|
+
readonly 'unanswered': () => Promise<void>;
|
|
2852
|
+
}
|
|
2853
|
+
|
|
2854
|
+
/** `purchase.tender.response.line` (owner: purchase). */
|
|
2855
|
+
export interface PurchaseTenderResponseLine {
|
|
2856
|
+
readonly name: 'purchase.tender.response.line';
|
|
2857
|
+
readonly fields: {
|
|
2858
|
+
readonly id: F.Id<'purchase.tender.response.line'>;
|
|
2859
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2860
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2861
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2862
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2863
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2864
|
+
readonly response: F.Many2one<'purchase.tender.response', { readonly required: true }>;
|
|
2865
|
+
readonly tenderLine: F.Many2one<'purchase.tender.line', { readonly required: true }>;
|
|
2866
|
+
readonly product: F.Many2one<'product.product', { readonly required: true }>;
|
|
2867
|
+
readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
2868
|
+
readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
2869
|
+
readonly subtotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2870
|
+
readonly note: F.Char;
|
|
2871
|
+
};
|
|
2872
|
+
readonly methods: PurchaseTenderResponseLineMethods;
|
|
2873
|
+
}
|
|
2874
|
+
|
|
2875
|
+
/** Methods of `purchase.tender.response.line`: declared ones and transitions. */
|
|
2876
|
+
export interface PurchaseTenderResponseLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.tender.response.line'> {
|
|
2877
|
+
}
|
|
2878
|
+
|
|
2879
|
+
/** `purchase.vendor.request` (owner: purchase). */
|
|
2880
|
+
export interface PurchaseVendorRequest {
|
|
2881
|
+
readonly name: 'purchase.vendor.request';
|
|
2882
|
+
readonly fields: {
|
|
2883
|
+
readonly id: F.Id<'purchase.vendor.request'>;
|
|
2884
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2885
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2886
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2887
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2888
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2889
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
2890
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
2891
|
+
readonly kind: F.Selection<'vendor' | 'contractor' | 'service', { readonly required: true; readonly default: true }>;
|
|
2892
|
+
readonly street: F.Char;
|
|
2893
|
+
readonly street2: F.Char;
|
|
2894
|
+
readonly city: F.Char;
|
|
2895
|
+
readonly zip: F.Char;
|
|
2896
|
+
readonly country: F.Char<{ readonly default: true }>;
|
|
2897
|
+
readonly nid: F.Char;
|
|
2898
|
+
readonly tradeLicense: F.Char;
|
|
2899
|
+
readonly proprietorName: F.Char;
|
|
2900
|
+
readonly proprietorMobile: F.Char;
|
|
2901
|
+
readonly email: F.Char;
|
|
2902
|
+
readonly phone: F.Char;
|
|
2903
|
+
readonly requester: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
|
|
2904
|
+
readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
|
|
2905
|
+
readonly partner: F.Many2one<'res.partner'>;
|
|
2906
|
+
readonly rejectReason: F.Char;
|
|
2907
|
+
readonly note: F.Text;
|
|
2908
|
+
readonly state: F.State<'draft' | 'to_approve' | 'approved' | 'rejected', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
2909
|
+
};
|
|
2910
|
+
readonly methods: PurchaseVendorRequestMethods;
|
|
2911
|
+
}
|
|
2912
|
+
|
|
2913
|
+
/** Methods of `purchase.vendor.request`: declared ones and transitions. */
|
|
2914
|
+
export interface PurchaseVendorRequestMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.vendor.request'> {
|
|
2915
|
+
readonly 'approve': () => Promise<void>;
|
|
2916
|
+
readonly 'redraft': () => Promise<void>;
|
|
2917
|
+
readonly 'reject': () => Promise<void>;
|
|
2918
|
+
readonly 'submit': () => Promise<void>;
|
|
2919
|
+
}
|
|
2920
|
+
|
|
2921
|
+
/** `purchase.work.acceptance` (owner: purchase). */
|
|
2922
|
+
export interface PurchaseWorkAcceptance {
|
|
2923
|
+
readonly name: 'purchase.work.acceptance';
|
|
2924
|
+
readonly fields: {
|
|
2925
|
+
readonly id: F.Id<'purchase.work.acceptance'>;
|
|
2926
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2927
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2928
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2929
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2930
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2931
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
2932
|
+
readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
|
|
2933
|
+
readonly vendor: F.Many2one<'res.partner', { readonly required: true }>;
|
|
2934
|
+
readonly order: F.Many2one<'purchase.order', { readonly required: true }>;
|
|
2935
|
+
readonly responsible: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
|
|
2936
|
+
readonly invoiceReference: F.Char;
|
|
2937
|
+
readonly dueDate: F.DateOnly<{ readonly required: true; readonly default: true }>;
|
|
2938
|
+
readonly acceptedOn: F.DateOnly;
|
|
2939
|
+
readonly currency: F.Many2one<'res.currency'>;
|
|
2940
|
+
readonly note: F.Text;
|
|
2941
|
+
readonly lines: F.One2many<'purchase.work.acceptance.line', { readonly required: true }>;
|
|
2942
|
+
readonly amountTotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2943
|
+
readonly state: F.State<'draft' | 'accepted' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
2944
|
+
};
|
|
2945
|
+
readonly methods: PurchaseWorkAcceptanceMethods;
|
|
2946
|
+
}
|
|
2947
|
+
|
|
2948
|
+
/** Methods of `purchase.work.acceptance`: declared ones and transitions. */
|
|
2949
|
+
export interface PurchaseWorkAcceptanceMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.work.acceptance'> {
|
|
2950
|
+
readonly 'accept': () => Promise<void>;
|
|
2951
|
+
readonly 'cancel': () => Promise<void>;
|
|
2952
|
+
readonly 'fill': () => Promise<void>;
|
|
2953
|
+
readonly 'redraft': () => Promise<void>;
|
|
2954
|
+
}
|
|
2955
|
+
|
|
2956
|
+
/** `purchase.work.acceptance.line` (owner: purchase). */
|
|
2957
|
+
export interface PurchaseWorkAcceptanceLine {
|
|
2958
|
+
readonly name: 'purchase.work.acceptance.line';
|
|
2959
|
+
readonly fields: {
|
|
2960
|
+
readonly id: F.Id<'purchase.work.acceptance.line'>;
|
|
2961
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2962
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
2963
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2964
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
2965
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
2966
|
+
readonly acceptance: F.Many2one<'purchase.work.acceptance', { readonly required: true }>;
|
|
2967
|
+
readonly orderLine: F.Many2one<'purchase.order.line', { readonly required: true }>;
|
|
2968
|
+
readonly product: F.Many2one<'product.product', { readonly required: true }>;
|
|
2969
|
+
readonly name: F.Char;
|
|
2970
|
+
readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
2971
|
+
readonly uom: F.Many2one<'uom.uom'>;
|
|
2972
|
+
readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
2973
|
+
readonly subtotal: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
2974
|
+
};
|
|
2975
|
+
readonly methods: PurchaseWorkAcceptanceLineMethods;
|
|
2976
|
+
}
|
|
2977
|
+
|
|
2978
|
+
/** Methods of `purchase.work.acceptance.line`: declared ones and transitions. */
|
|
2979
|
+
export interface PurchaseWorkAcceptanceLineMethods extends F.Methods<typeof import('../../purchase/index.js').purchaseShutro, 'purchase.work.acceptance.line'> {
|
|
1935
2980
|
}
|
|
1936
2981
|
|
|
1937
2982
|
/** `report.dashboard` (owner: reporting). */
|
|
@@ -2179,7 +3224,7 @@ export interface ResCurrencyRate {
|
|
|
2179
3224
|
export interface ResCurrencyRateMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.currency.rate'> {
|
|
2180
3225
|
}
|
|
2181
3226
|
|
|
2182
|
-
/** `res.partner` (owner: contacts; extended by: accounting). */
|
|
3227
|
+
/** `res.partner` (owner: contacts; extended by: accounting, accounting). */
|
|
2183
3228
|
export interface ResPartner {
|
|
2184
3229
|
readonly name: 'res.partner';
|
|
2185
3230
|
readonly fields: {
|
|
@@ -2200,6 +3245,7 @@ export interface ResPartner {
|
|
|
2200
3245
|
readonly parent: F.Many2one<'res.partner'>;
|
|
2201
3246
|
readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
|
|
2202
3247
|
readonly email: F.Char;
|
|
3248
|
+
readonly lang: F.Selection<'en' | 'bn'>;
|
|
2203
3249
|
readonly phone: F.Char;
|
|
2204
3250
|
readonly mobile: F.Char;
|
|
2205
3251
|
readonly website: F.Char;
|
|
@@ -2213,13 +3259,17 @@ export interface ResPartner {
|
|
|
2213
3259
|
readonly isVendor: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
2214
3260
|
readonly currency: F.Many2one<'res.currency'>;
|
|
2215
3261
|
readonly notes: F.Text;
|
|
3262
|
+
readonly sendInvoicesByEmail: F.Bool<{ readonly required: true; readonly default: true }>; // accounting
|
|
2216
3263
|
readonly withholdings: F.Many2many<'account.withholding', { readonly required: true }>; // accounting
|
|
3264
|
+
readonly receivableAccount: F.Many2one<'account.account'>; // accounting
|
|
3265
|
+
readonly payableAccount: F.Many2one<'account.account'>; // accounting
|
|
3266
|
+
readonly fiscalPosition: F.Many2one<'account.fiscal.position'>; // accounting
|
|
2217
3267
|
};
|
|
2218
3268
|
readonly methods: ResPartnerMethods;
|
|
2219
3269
|
}
|
|
2220
3270
|
|
|
2221
3271
|
/** Methods of `res.partner`: declared ones and transitions. */
|
|
2222
|
-
export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.partner'> {
|
|
3272
|
+
export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.partner'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.partner'> {
|
|
2223
3273
|
}
|
|
2224
3274
|
|
|
2225
3275
|
/** `res.partner.tag` (owner: contacts). */
|
|
@@ -2241,6 +3291,29 @@ export interface ResPartnerTag {
|
|
|
2241
3291
|
export interface ResPartnerTagMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner.tag'> {
|
|
2242
3292
|
}
|
|
2243
3293
|
|
|
3294
|
+
/** `res.segment` (owner: permissions). */
|
|
3295
|
+
export interface ResSegment {
|
|
3296
|
+
readonly name: 'res.segment';
|
|
3297
|
+
readonly fields: {
|
|
3298
|
+
readonly id: F.Id<'res.segment'>;
|
|
3299
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
3300
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
3301
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
3302
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
3303
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
3304
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
3305
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
3306
|
+
readonly code: F.Char;
|
|
3307
|
+
readonly companies: F.Many2many<'res.company', { readonly required: true }>;
|
|
3308
|
+
readonly note: F.Text;
|
|
3309
|
+
};
|
|
3310
|
+
readonly methods: ResSegmentMethods;
|
|
3311
|
+
}
|
|
3312
|
+
|
|
3313
|
+
/** Methods of `res.segment`: declared ones and transitions. */
|
|
3314
|
+
export interface ResSegmentMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'res.segment'> {
|
|
3315
|
+
}
|
|
3316
|
+
|
|
2244
3317
|
/** `res.users` (owner: base). */
|
|
2245
3318
|
export interface ResUsers {
|
|
2246
3319
|
readonly name: 'res.users';
|