shutro-erp 0.2.1 → 0.3.1

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.
Files changed (273) hide show
  1. package/README.md +74 -67
  2. package/dist/account_portal/.kosh/bindings.d.ts +22 -0
  3. package/dist/account_portal/.kosh/bindings.js +15 -0
  4. package/dist/account_portal/.kosh/schema.d.ts +1380 -0
  5. package/dist/account_portal/index.d.ts +3 -0
  6. package/dist/account_portal/index.js +73 -0
  7. package/dist/account_portal/module.d.ts +5983 -0
  8. package/dist/account_portal/module.js +18 -0
  9. package/dist/accounting/.kosh/bindings.js +1 -1
  10. package/dist/accounting/.kosh/schema.d.ts +172 -9
  11. package/dist/accounting/chart.d.ts +40 -8
  12. package/dist/accounting/chart.js +124 -30
  13. package/dist/accounting/closing.d.ts +6 -1
  14. package/dist/accounting/closing.js +5 -1
  15. package/dist/accounting/demo.js +6 -5
  16. package/dist/accounting/index.d.ts +3 -3
  17. package/dist/accounting/index.js +200 -23
  18. package/dist/accounting/module.d.ts +3326 -1086
  19. package/dist/accounting/module.js +408 -66
  20. package/dist/accounting/payments.d.ts +25 -0
  21. package/dist/accounting/payments.js +96 -4
  22. package/dist/accounting/web/RegisterPayment.d.ts +3 -2
  23. package/dist/accounting/web/RegisterPayment.js +39 -6
  24. package/dist/accounting/web/SettingsPage.js +5 -1
  25. package/dist/accounting/web/messages.js +10 -0
  26. package/dist/assistant/routes.js +1 -1
  27. package/dist/automation/engine.js +1 -1
  28. package/dist/automation/web/messages.js +2 -2
  29. package/dist/cli/apps.d.ts +1 -1
  30. package/dist/cli/apps.js +14 -14
  31. package/dist/cli/bin.js +3 -0
  32. package/dist/cli/index.js +11 -11
  33. package/dist/cli/init.d.ts +1 -1
  34. package/dist/cli/init.js +224 -78
  35. package/dist/cli/launch.d.ts +16 -0
  36. package/dist/cli/launch.js +138 -0
  37. package/dist/cli/project.d.ts +7 -7
  38. package/dist/cli/project.js +25 -25
  39. package/dist/cli/prompt.d.ts +35 -0
  40. package/dist/cli/prompt.js +48 -2
  41. package/dist/cli/templates.d.ts +14 -6
  42. package/dist/cli/templates.js +61 -34
  43. package/dist/cli/tui.d.ts +7 -0
  44. package/dist/cli/tui.js +254 -0
  45. package/dist/cli/ui.d.ts +21 -8
  46. package/dist/cli/ui.js +65 -19
  47. package/dist/contacts/.kosh/bindings.js +1 -1
  48. package/dist/contacts/.kosh/schema.d.ts +33 -1
  49. package/dist/contacts/index.js +24 -1
  50. package/dist/contacts/module.d.ts +42 -0
  51. package/dist/contacts/module.js +3 -1
  52. package/dist/import/convert.d.ts +55 -0
  53. package/dist/import/convert.js +224 -0
  54. package/dist/import/csv.d.ts +28 -0
  55. package/dist/import/csv.js +115 -0
  56. package/dist/import/index.d.ts +33 -0
  57. package/dist/import/index.js +60 -0
  58. package/dist/import/mapping.d.ts +15 -0
  59. package/dist/import/mapping.js +33 -0
  60. package/dist/import/match.d.ts +24 -0
  61. package/dist/import/match.js +60 -0
  62. package/dist/import/models.d.ts +2 -0
  63. package/dist/import/models.js +102 -0
  64. package/dist/import/routes.d.ts +13 -0
  65. package/dist/import/routes.js +392 -0
  66. package/dist/import/run.d.ts +131 -0
  67. package/dist/import/run.js +568 -0
  68. package/dist/import/service.d.ts +153 -0
  69. package/dist/import/service.js +367 -0
  70. package/dist/import/web/ImportButton.d.ts +7 -0
  71. package/dist/import/web/ImportButton.js +31 -0
  72. package/dist/import/web/ImportWizard.d.ts +75 -0
  73. package/dist/import/web/ImportWizard.js +217 -0
  74. package/dist/import/web/index.d.ts +13 -0
  75. package/dist/import/web/index.js +18 -0
  76. package/dist/import/web/messages.d.ts +2 -0
  77. package/dist/import/web/messages.js +139 -0
  78. package/dist/import/worker.d.ts +3 -0
  79. package/dist/import/worker.js +52 -0
  80. package/dist/import/xlsx.d.ts +20 -0
  81. package/dist/import/xlsx.js +192 -0
  82. package/dist/l10n_bd/.kosh/bindings.d.ts +22 -0
  83. package/dist/l10n_bd/.kosh/bindings.js +15 -0
  84. package/dist/l10n_bd/.kosh/schema.d.ts +1311 -0
  85. package/dist/l10n_bd/documents.d.ts +8 -0
  86. package/dist/l10n_bd/documents.js +183 -0
  87. package/dist/l10n_bd/index.d.ts +8 -0
  88. package/dist/l10n_bd/index.js +156 -0
  89. package/dist/l10n_bd/module.d.ts +5705 -0
  90. package/dist/l10n_bd/module.js +163 -0
  91. package/dist/l10n_bd/mushak.d.ts +67 -0
  92. package/dist/l10n_bd/mushak.js +139 -0
  93. package/dist/l10n_bd/routes.d.ts +3 -0
  94. package/dist/l10n_bd/routes.js +205 -0
  95. package/dist/l10n_bd/web/MushakPage.d.ts +7 -0
  96. package/dist/l10n_bd/web/MushakPage.js +53 -0
  97. package/dist/l10n_bd/web/index.d.ts +13 -0
  98. package/dist/l10n_bd/web/index.js +18 -0
  99. package/dist/l10n_bd/web/messages.d.ts +2 -0
  100. package/dist/l10n_bd/web/messages.js +101 -0
  101. package/dist/l10n_in/.kosh/bindings.d.ts +22 -0
  102. package/dist/l10n_in/.kosh/bindings.js +15 -0
  103. package/dist/l10n_in/.kosh/schema.d.ts +1373 -0
  104. package/dist/l10n_in/documents.d.ts +8 -0
  105. package/dist/l10n_in/documents.js +114 -0
  106. package/dist/l10n_in/einvoice.d.ts +253 -0
  107. package/dist/l10n_in/einvoice.js +485 -0
  108. package/dist/l10n_in/gstr.d.ts +109 -0
  109. package/dist/l10n_in/gstr.js +430 -0
  110. package/dist/l10n_in/index.d.ts +20 -0
  111. package/dist/l10n_in/index.js +232 -0
  112. package/dist/l10n_in/module.d.ts +7823 -0
  113. package/dist/l10n_in/module.js +427 -0
  114. package/dist/l10n_in/routes-einvoice.d.ts +15 -0
  115. package/dist/l10n_in/routes-einvoice.js +124 -0
  116. package/dist/l10n_in/routes.d.ts +17 -0
  117. package/dist/l10n_in/routes.js +282 -0
  118. package/dist/l10n_in/web/EInvoicePanel.d.ts +8 -0
  119. package/dist/l10n_in/web/EInvoicePanel.js +63 -0
  120. package/dist/l10n_in/web/GstPage.d.ts +7 -0
  121. package/dist/l10n_in/web/GstPage.js +57 -0
  122. package/dist/l10n_in/web/GstSettings.d.ts +10 -0
  123. package/dist/l10n_in/web/GstSettings.js +36 -0
  124. package/dist/l10n_in/web/index.d.ts +15 -0
  125. package/dist/l10n_in/web/index.js +22 -0
  126. package/dist/l10n_in/web/messages.d.ts +2 -0
  127. package/dist/l10n_in/web/messages.js +166 -0
  128. package/dist/mail/index.js +2 -2
  129. package/dist/modules-sdk/demo.d.ts +2 -0
  130. package/dist/modules-sdk/demo.js +7 -3
  131. package/dist/modules-sdk/index.d.ts +2 -2
  132. package/dist/modules-sdk/index.js +1 -1
  133. package/dist/modules-sdk/loader.js +2 -2
  134. package/dist/modules-sdk/manifest.d.ts +132 -0
  135. package/dist/modules-sdk/manifest.js +22 -0
  136. package/dist/notify/inbox.js +21 -0
  137. package/dist/notify/messages.js +7 -3
  138. package/dist/notify/models.d.ts +1 -1
  139. package/dist/notify/models.js +2 -0
  140. package/dist/notify/routes.js +1 -1
  141. package/dist/notify/web/messages.js +5 -1
  142. package/dist/portal/.kosh/bindings.d.ts +22 -0
  143. package/dist/portal/.kosh/bindings.js +15 -0
  144. package/dist/portal/.kosh/schema.d.ts +376 -0
  145. package/dist/portal/announce.d.ts +16 -0
  146. package/dist/portal/announce.js +117 -0
  147. package/dist/portal/documents.d.ts +17 -0
  148. package/dist/portal/documents.js +61 -0
  149. package/dist/portal/index.d.ts +20 -0
  150. package/dist/portal/index.js +65 -0
  151. package/dist/portal/module.d.ts +1405 -0
  152. package/dist/portal/module.js +84 -0
  153. package/dist/portal/routes-documents.d.ts +2 -0
  154. package/dist/portal/routes-documents.js +391 -0
  155. package/dist/portal/routes.d.ts +13 -0
  156. package/dist/portal/routes.js +313 -0
  157. package/dist/portal/rules.d.ts +11 -0
  158. package/dist/portal/rules.js +25 -0
  159. package/dist/portal/web/PortalAccess.d.ts +8 -0
  160. package/dist/portal/web/PortalAccess.js +66 -0
  161. package/dist/portal/web/index.d.ts +12 -0
  162. package/dist/portal/web/index.js +17 -0
  163. package/dist/portal/web/messages.d.ts +2 -0
  164. package/dist/portal/web/messages.js +33 -0
  165. package/dist/product/.kosh/bindings.js +1 -1
  166. package/dist/product/.kosh/schema.d.ts +42 -3
  167. package/dist/product/demo.js +6 -5
  168. package/dist/product/index.d.ts +1 -0
  169. package/dist/product/index.js +17 -4
  170. package/dist/product/module.d.ts +346 -14
  171. package/dist/product/module.js +48 -18
  172. package/dist/product/taxes.d.ts +59 -0
  173. package/dist/product/taxes.js +61 -0
  174. package/dist/project/.kosh/bindings.js +1 -1
  175. package/dist/project/.kosh/schema.d.ts +33 -1
  176. package/dist/project/module.d.ts +20 -0
  177. package/dist/project_portal/.kosh/bindings.d.ts +22 -0
  178. package/dist/project_portal/.kosh/bindings.js +15 -0
  179. package/dist/project_portal/.kosh/schema.d.ts +701 -0
  180. package/dist/project_portal/index.d.ts +9 -0
  181. package/dist/project_portal/index.js +42 -0
  182. package/dist/project_portal/module.d.ts +2142 -0
  183. package/dist/project_portal/module.js +22 -0
  184. package/dist/purchase/.kosh/bindings.js +1 -1
  185. package/dist/purchase/.kosh/schema.d.ts +45 -4
  186. package/dist/purchase/demo.js +3 -3
  187. package/dist/purchase/index.js +1 -1
  188. package/dist/purchase/module.d.ts +232 -8
  189. package/dist/purchase/module.js +51 -9
  190. package/dist/purchase_account/.kosh/bindings.js +1 -1
  191. package/dist/purchase_account/.kosh/schema.d.ts +174 -10
  192. package/dist/purchase_account/module.d.ts +2008 -641
  193. package/dist/purchase_account/module.js +2 -2
  194. package/dist/purchase_portal/.kosh/bindings.d.ts +22 -0
  195. package/dist/purchase_portal/.kosh/bindings.js +15 -0
  196. package/dist/purchase_portal/.kosh/schema.d.ts +852 -0
  197. package/dist/purchase_portal/index.d.ts +9 -0
  198. package/dist/purchase_portal/index.js +53 -0
  199. package/dist/purchase_portal/module.d.ts +2758 -0
  200. package/dist/purchase_portal/module.js +18 -0
  201. package/dist/reporting/documents.js +20 -3
  202. package/dist/reporting/index.d.ts +1 -0
  203. package/dist/reporting/index.js +1 -0
  204. package/dist/reporting/routes-documents.js +9 -2
  205. package/dist/reporting/words.d.ts +11 -0
  206. package/dist/reporting/words.js +229 -0
  207. package/dist/sale_account/.kosh/bindings.js +1 -1
  208. package/dist/sale_account/.kosh/schema.d.ts +174 -10
  209. package/dist/sale_account/module.d.ts +2008 -641
  210. package/dist/sale_account/module.js +3 -3
  211. package/dist/sale_portal/.kosh/bindings.d.ts +22 -0
  212. package/dist/sale_portal/.kosh/bindings.js +15 -0
  213. package/dist/sale_portal/.kosh/schema.d.ts +766 -0
  214. package/dist/sale_portal/index.d.ts +9 -0
  215. package/dist/sale_portal/index.js +71 -0
  216. package/dist/sale_portal/module.d.ts +2718 -0
  217. package/dist/sale_portal/module.js +19 -0
  218. package/dist/sale_project/.kosh/bindings.js +1 -1
  219. package/dist/sale_project/.kosh/schema.d.ts +45 -4
  220. package/dist/sale_project/module.d.ts +390 -10
  221. package/dist/sales/.kosh/bindings.js +1 -1
  222. package/dist/sales/.kosh/schema.d.ts +45 -4
  223. package/dist/sales/demo.js +3 -3
  224. package/dist/sales/index.js +67 -1
  225. package/dist/sales/module.d.ts +232 -8
  226. package/dist/sales/module.js +51 -12
  227. package/dist/server/api/client.js +1 -1
  228. package/dist/server/api/openapi.js +17 -1
  229. package/dist/server/apps.js +5 -5
  230. package/dist/server/auth/api-keys.d.ts +13 -0
  231. package/dist/server/auth/api-keys.js +65 -0
  232. package/dist/server/auth/base.js +26 -0
  233. package/dist/server/auth/crypto.js +1 -1
  234. package/dist/server/auth/scopes.d.ts +12 -0
  235. package/dist/server/auth/scopes.js +51 -0
  236. package/dist/server/auth/service.d.ts +59 -1
  237. package/dist/server/auth/service.js +236 -6
  238. package/dist/server/demo.d.ts +1 -1
  239. package/dist/server/demo.js +1 -1
  240. package/dist/server/env-names.d.ts +2 -0
  241. package/dist/server/env-names.js +16 -0
  242. package/dist/server/host.js +5 -1
  243. package/dist/server/identity.d.ts +7 -0
  244. package/dist/server/index.d.ts +2 -1
  245. package/dist/server/index.js +2 -1
  246. package/dist/server/registry.js +1 -1
  247. package/dist/server/server.d.ts +5 -0
  248. package/dist/server/server.js +71 -6
  249. package/dist/settings/routes.js +1 -1
  250. package/dist/settings/web/ApiKeysPage.d.ts +8 -0
  251. package/dist/settings/web/ApiKeysPage.js +70 -0
  252. package/dist/settings/web/index.d.ts +1 -0
  253. package/dist/settings/web/index.js +4 -0
  254. package/dist/settings/web/messages.js +62 -0
  255. package/dist/storage/routes.js +1 -1
  256. package/dist/studio/build.js +1 -1
  257. package/dist/studio/generate.js +4 -4
  258. package/dist/studio/module.js +5 -5
  259. package/dist/studio/web/messages.js +2 -2
  260. package/dist/ui/api.d.ts +2 -0
  261. package/dist/ui/app.js +27 -4
  262. package/dist/ui/context.d.ts +3 -1
  263. package/dist/ui/context.js +2 -2
  264. package/dist/ui/i18n/messages.js +2 -2
  265. package/dist/ui/index.d.ts +1 -1
  266. package/dist/ui/index.js +1 -1
  267. package/dist/ui/lib/format.d.ts +2 -0
  268. package/dist/ui/lib/format.js +3 -1
  269. package/dist/ui/pwa/worker.js +2 -2
  270. package/dist/ui/registry.d.ts +15 -0
  271. package/dist/ui/registry.js +20 -0
  272. package/dist/ui/views/FormView.js +19 -6
  273. package/package.json +52 -4
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: f903224b80d0f1f1
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 81a33d0265524052
2
2
  // Schema view of module `purchase_account` (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
 
@@ -14,11 +14,15 @@ export interface SchemaView {
14
14
  readonly 'account.payment': AccountPayment;
15
15
  readonly 'account.payment.term': AccountPaymentTerm;
16
16
  readonly 'account.payment.term.line': AccountPaymentTermLine;
17
+ readonly 'account.payment.withholding': AccountPaymentWithholding;
17
18
  readonly 'account.tax': AccountTax;
19
+ readonly 'account.tax.component': AccountTaxComponent;
20
+ readonly 'account.withholding': AccountWithholding;
18
21
  readonly 'approval.level': ApprovalLevel;
19
22
  readonly 'approval.policy': ApprovalPolicy;
20
23
  readonly 'approval.request': ApprovalRequest;
21
24
  readonly 'audit.event': AuditEvent;
25
+ readonly 'auth.api_key': AuthApiKey;
22
26
  readonly 'auth.credential': AuthCredential;
23
27
  readonly 'auth.session': AuthSession;
24
28
  readonly 'auth.user_grant': AuthUserGrant;
@@ -40,6 +44,7 @@ export interface SchemaView {
40
44
  readonly 'report.schedule': ReportSchedule;
41
45
  readonly 'report.spreadsheet': ReportSpreadsheet;
42
46
  readonly 'report.template': ReportTemplate;
47
+ readonly 'res.bank.account': ResBankAccount;
43
48
  readonly 'res.company': ResCompany;
44
49
  readonly 'res.currency': ResCurrency;
45
50
  readonly 'res.currency.rate': ResCurrencyRate;
@@ -165,7 +170,7 @@ export interface AccountMove {
165
170
  readonly numberGeneral: F.Char<{ readonly readonly: true; readonly sequence: true }>;
166
171
  readonly journal: F.Many2one<'account.journal', { readonly required: true }>;
167
172
  readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
168
- readonly kind: F.Selection<'entry' | 'out_invoice' | 'out_refund' | 'in_invoice' | 'in_refund', { readonly required: true; readonly default: true }>;
173
+ readonly kind: F.Selection<'entry' | 'out_invoice' | 'out_refund' | 'in_invoice' | 'in_refund' | 'out_debit' | 'in_debit', { readonly required: true; readonly default: true }>;
169
174
  readonly partner: F.Many2one<'res.partner'>;
170
175
  readonly ref: F.Char;
171
176
  readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
@@ -177,6 +182,7 @@ export interface AccountMove {
177
182
  readonly amountDebit: F.Monetary<'companyCurrency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
178
183
  readonly amountCredit: F.Monetary<'companyCurrency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
179
184
  readonly dateDue: F.DateOnly;
185
+ readonly paymentDetails: F.Text<{ readonly readonly: true; readonly compute: true }>;
180
186
  readonly paymentTerm: F.Many2one<'account.payment.term'>;
181
187
  readonly invoiceOrigin: F.Char;
182
188
  readonly amountUntaxed: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
@@ -189,6 +195,8 @@ export interface AccountMove {
189
195
  readonly postedAt: F.Datetime;
190
196
  readonly postedTx: F.Char;
191
197
  readonly reversalOf: F.Many2one<'account.move'>;
198
+ readonly debitOf: F.Many2one<'account.move'>;
199
+ readonly placeOfSupply: F.Char;
192
200
  readonly reversedBy: F.Many2one<'account.move'>;
193
201
  readonly purchaseOrder: F.Many2one<'purchase.order'>; // purchase_account
194
202
  };
@@ -231,10 +239,14 @@ export interface AccountMoveLine {
231
239
  readonly quantity: F.Decimal<{ readonly default: true }>;
232
240
  readonly priceUnit: F.Decimal<{ readonly default: true }>;
233
241
  readonly discount: F.Decimal<{ readonly default: true }>;
234
- readonly tax: F.Many2one<'account.tax'>;
242
+ readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
243
+ readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
235
244
  readonly subtotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
236
245
  readonly taxAmount: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
237
246
  readonly taxLineOf: F.Many2one<'account.tax'>;
247
+ readonly taxComponent: F.Many2one<'account.tax.component'>;
248
+ readonly taxReverseCharge: F.Bool<{ readonly required: true; readonly default: true }>;
249
+ readonly taxBase: F.Monetary<'currency'>;
238
250
  readonly balance: F.Monetary<'companyCurrency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
239
251
  readonly posted: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true; readonly store: true }>;
240
252
  readonly accountType: F.Selection<'asset_receivable' | 'asset_cash' | 'asset_current' | 'asset_prepayments' | 'asset_fixed' | 'asset_non_current' | 'liability_payable' | 'liability_current' | 'liability_non_current' | 'equity' | 'equity_unaffected' | 'income' | 'income_other' | 'expense' | 'expense_direct_cost' | 'expense_depreciation' | 'off_balance', { readonly readonly: true; readonly compute: true; readonly store: true }>;
@@ -298,6 +310,8 @@ export interface AccountPayment {
298
310
  readonly amount: F.Monetary<'currency', { readonly required: true }>;
299
311
  readonly memo: F.Char;
300
312
  readonly documents: F.Many2many<'account.move', { readonly required: true }>;
313
+ readonly withholdings: F.One2many<'account.payment.withholding', { readonly required: true }>;
314
+ readonly amountWithheld: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
301
315
  readonly move: F.Many2one<'account.move'>;
302
316
  readonly state: F.State<'draft' | 'posted' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
303
317
  };
@@ -354,6 +368,29 @@ export interface AccountPaymentTermLine {
354
368
  export interface AccountPaymentTermLineMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.payment.term.line'> {
355
369
  }
356
370
 
371
+ /** `account.payment.withholding` (owner: accounting). */
372
+ export interface AccountPaymentWithholding {
373
+ readonly name: 'account.payment.withholding';
374
+ readonly fields: {
375
+ readonly id: F.Id<'account.payment.withholding'>;
376
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
377
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
378
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
379
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
380
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
381
+ readonly payment: F.Many2one<'account.payment', { readonly required: true }>;
382
+ readonly withholding: F.Many2one<'account.withholding', { readonly required: true }>;
383
+ readonly currency: F.Many2one<'res.currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
384
+ readonly base: F.Monetary<'currency'>;
385
+ readonly amount: F.Monetary<'currency', { readonly required: true }>;
386
+ };
387
+ readonly methods: AccountPaymentWithholdingMethods;
388
+ }
389
+
390
+ /** Methods of `account.payment.withholding`: declared ones and transitions. */
391
+ export interface AccountPaymentWithholdingMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.payment.withholding'> {
392
+ }
393
+
357
394
  /** `account.tax` (owner: product; extended by: accounting). */
358
395
  export interface AccountTax {
359
396
  readonly name: 'account.tax';
@@ -367,10 +404,17 @@ export interface AccountTax {
367
404
  readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
368
405
  readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
369
406
  readonly use: F.Selection<'sale' | 'purchase', { readonly required: true; readonly default: true }>;
407
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
408
+ readonly amountType: F.Selection<'percent' | 'fixed', { readonly required: true; readonly default: true }>;
370
409
  readonly rate: F.Decimal<{ readonly required: true; readonly default: true }>;
410
+ readonly fixedAmount: F.Decimal<{ readonly required: true; readonly default: true }>;
411
+ readonly affectsBase: F.Bool<{ readonly required: true; readonly default: true }>;
412
+ readonly priceIncluded: F.Bool<{ readonly required: true; readonly default: true }>;
413
+ readonly reverseCharge: F.Bool<{ readonly required: true; readonly default: true }>;
371
414
  readonly account: F.Many2one<'account.account'>; // accounting
372
415
  readonly refundAccount: F.Many2one<'account.account'>; // accounting
373
- readonly priceIncluded: F.Bool<{ readonly required: true; readonly default: true }>; // accounting
416
+ readonly reverseChargeAccount: F.Many2one<'account.account'>; // accounting
417
+ readonly components: F.One2many<'account.tax.component', { readonly required: true }>; // accounting
374
418
  };
375
419
  readonly methods: AccountTaxMethods;
376
420
  }
@@ -379,6 +423,60 @@ export interface AccountTax {
379
423
  export interface AccountTaxMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'account.tax'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.tax'> {
380
424
  }
381
425
 
426
+ /** `account.tax.component` (owner: accounting). */
427
+ export interface AccountTaxComponent {
428
+ readonly name: 'account.tax.component';
429
+ readonly fields: {
430
+ readonly id: F.Id<'account.tax.component'>;
431
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
432
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
433
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
434
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
435
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
436
+ readonly tax: F.Many2one<'account.tax', { readonly required: true }>;
437
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
438
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
439
+ readonly share: F.Decimal<{ readonly required: true; readonly default: true }>;
440
+ readonly scope: F.Selection<'always' | 'intra' | 'inter', { readonly required: true; readonly default: true }>;
441
+ readonly code: F.Char;
442
+ readonly account: F.Many2one<'account.account'>;
443
+ readonly refundAccount: F.Many2one<'account.account'>;
444
+ readonly reverseChargeAccount: F.Many2one<'account.account'>;
445
+ };
446
+ readonly methods: AccountTaxComponentMethods;
447
+ }
448
+
449
+ /** Methods of `account.tax.component`: declared ones and transitions. */
450
+ export interface AccountTaxComponentMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.tax.component'> {
451
+ }
452
+
453
+ /** `account.withholding` (owner: accounting). */
454
+ export interface AccountWithholding {
455
+ readonly name: 'account.withholding';
456
+ readonly fields: {
457
+ readonly id: F.Id<'account.withholding'>;
458
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
459
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
460
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
461
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
462
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
463
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
464
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
465
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
466
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
467
+ readonly direction: F.Selection<'vendor' | 'customer', { readonly required: true; readonly default: true }>;
468
+ readonly base: F.Selection<'untaxed' | 'tax' | 'total', { readonly required: true; readonly default: true }>;
469
+ readonly rate: F.Decimal<{ readonly required: true; readonly default: true }>;
470
+ readonly threshold: F.Decimal<{ readonly required: true; readonly default: true }>;
471
+ readonly account: F.Many2one<'account.account', { readonly required: true }>;
472
+ };
473
+ readonly methods: AccountWithholdingMethods;
474
+ }
475
+
476
+ /** Methods of `account.withholding`: declared ones and transitions. */
477
+ export interface AccountWithholdingMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'account.withholding'> {
478
+ }
479
+
382
480
  /** `approval.level` (owner: permissions). */
383
481
  export interface ApprovalLevel {
384
482
  readonly name: 'approval.level';
@@ -485,6 +583,34 @@ export interface AuditEvent {
485
583
  export interface AuditEventMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'audit.event'> {
486
584
  }
487
585
 
586
+ /** `auth.api_key` (owner: base). */
587
+ export interface AuthApiKey {
588
+ readonly name: 'auth.api_key';
589
+ readonly fields: {
590
+ readonly id: F.Id<'auth.api_key'>;
591
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
592
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
593
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
594
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
595
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
596
+ readonly name: F.Char<{ readonly required: true }>;
597
+ readonly user: F.Many2one<'res.users', { readonly required: true }>;
598
+ readonly tokenHash: F.Char<{ readonly required: true }>;
599
+ readonly prefix: F.Char<{ readonly required: true }>;
600
+ readonly scopes: F.Text<{ readonly required: true }>;
601
+ readonly expiresAt: F.Datetime<{ readonly required: true }>;
602
+ readonly lastUsedAt: F.Datetime;
603
+ readonly lastUsedIp: F.Char;
604
+ readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
605
+ readonly issuedBy: F.Many2one<'res.users'>;
606
+ };
607
+ readonly methods: AuthApiKeyMethods;
608
+ }
609
+
610
+ /** Methods of `auth.api_key`: declared ones and transitions. */
611
+ export interface AuthApiKeyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.api_key'> {
612
+ }
613
+
488
614
  /** `auth.credential` (owner: base). */
489
615
  export interface AuthCredential {
490
616
  readonly name: 'auth.credential';
@@ -823,8 +949,10 @@ export interface ProductProduct {
823
949
  readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
824
950
  readonly saleOk: F.Bool<{ readonly required: true; readonly default: true }>;
825
951
  readonly purchaseOk: F.Bool<{ readonly required: true; readonly default: true }>;
826
- readonly tax: F.Many2one<'account.tax'>;
827
- readonly purchaseTax: F.Many2one<'account.tax'>;
952
+ readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
953
+ readonly purchaseTaxes: F.Many2many<'account.tax', { readonly required: true }>;
954
+ readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
955
+ readonly purchaseTax: F.Many2one<'account.tax', { readonly readonly: true }>;
828
956
  readonly description: F.Text<{ readonly translate: true }>;
829
957
  };
830
958
  readonly methods: ProductProductMethods;
@@ -894,7 +1022,8 @@ export interface PurchaseOrderLine {
894
1022
  readonly quantity: F.Decimal<{ readonly required: true; readonly default: true }>;
895
1023
  readonly uom: F.Many2one<'uom.uom'>;
896
1024
  readonly priceUnit: F.Decimal<{ readonly required: true; readonly default: true }>;
897
- readonly tax: F.Many2one<'account.tax'>;
1025
+ readonly taxes: F.Many2many<'account.tax', { readonly required: true }>;
1026
+ readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
898
1027
  readonly datePlanned: F.DateOnly;
899
1028
  readonly currency: F.Many2one<'res.currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
900
1029
  readonly subtotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
@@ -1032,6 +1161,34 @@ export interface ReportTemplate {
1032
1161
  export interface ReportTemplateMethods extends F.Methods<typeof import('../../reporting/index.js').reportingShutro, 'report.template'> {
1033
1162
  }
1034
1163
 
1164
+ /** `res.bank.account` (owner: accounting). */
1165
+ export interface ResBankAccount {
1166
+ readonly name: 'res.bank.account';
1167
+ readonly fields: {
1168
+ readonly id: F.Id<'res.bank.account'>;
1169
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1170
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1171
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1172
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1173
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1174
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1175
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1176
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1177
+ readonly bank: F.Char<{ readonly required: true }>;
1178
+ readonly branch: F.Char;
1179
+ readonly number: F.Char<{ readonly required: true }>;
1180
+ readonly holder: F.Char;
1181
+ readonly routing: F.Char;
1182
+ readonly swift: F.Char;
1183
+ readonly currency: F.Many2one<'res.currency'>;
1184
+ };
1185
+ readonly methods: ResBankAccountMethods;
1186
+ }
1187
+
1188
+ /** Methods of `res.bank.account`: declared ones and transitions. */
1189
+ export interface ResBankAccountMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.bank.account'> {
1190
+ }
1191
+
1035
1192
  /** `res.company` (owner: base; extended by: accounting). */
1036
1193
  export interface ResCompany {
1037
1194
  readonly name: 'res.company';
@@ -1044,7 +1201,11 @@ export interface ResCompany {
1044
1201
  readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1045
1202
  readonly name: F.Char<{ readonly required: true }>;
1046
1203
  readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
1047
- readonly chartTemplate: F.Selection<'generic' | 'bd'>; // accounting
1204
+ readonly numberGrouping: F.Selection<'international' | 'lakh', { readonly required: true; readonly default: true }>;
1205
+ readonly fiscalYearStart: F.Integer<{ readonly required: true; readonly default: true }>; // accounting
1206
+ readonly chartTemplate: F.Char; // accounting
1207
+ readonly country: F.Char; // accounting
1208
+ readonly state: F.Char; // accounting
1048
1209
  readonly lockDate: F.DateOnly; // accounting
1049
1210
  readonly taxLockDate: F.DateOnly; // accounting
1050
1211
  readonly accountReceivable: F.Many2one<'account.account'>; // accounting
@@ -1103,7 +1264,7 @@ export interface ResCurrencyRate {
1103
1264
  export interface ResCurrencyRateMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.currency.rate'> {
1104
1265
  }
1105
1266
 
1106
- /** `res.partner` (owner: contacts). */
1267
+ /** `res.partner` (owner: contacts; extended by: accounting). */
1107
1268
  export interface ResPartner {
1108
1269
  readonly name: 'res.partner';
1109
1270
  readonly fields: {
@@ -1127,17 +1288,19 @@ export interface ResPartner {
1127
1288
  readonly city: F.Char;
1128
1289
  readonly zip: F.Char;
1129
1290
  readonly country: F.Char;
1291
+ readonly state: F.Char;
1130
1292
  readonly taxId: F.Char;
1131
1293
  readonly isCustomer: F.Bool<{ readonly required: true; readonly default: true }>;
1132
1294
  readonly isVendor: F.Bool<{ readonly required: true; readonly default: true }>;
1133
1295
  readonly currency: F.Many2one<'res.currency'>;
1134
1296
  readonly notes: F.Text;
1297
+ readonly withholdings: F.Many2many<'account.withholding', { readonly required: true }>; // accounting
1135
1298
  };
1136
1299
  readonly methods: ResPartnerMethods;
1137
1300
  }
1138
1301
 
1139
1302
  /** Methods of `res.partner`: declared ones and transitions. */
1140
- export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'> {
1303
+ export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.partner'> {
1141
1304
  }
1142
1305
 
1143
1306
  /** `res.users` (owner: base). */
@@ -1159,6 +1322,7 @@ export interface ResUsers {
1159
1322
  readonly companies: F.Many2many<'res.company', { readonly required: true }>;
1160
1323
  readonly lang: F.Char<{ readonly default: true }>;
1161
1324
  readonly tz: F.Char<{ readonly default: true }>;
1325
+ readonly isService: F.Bool<{ readonly required: true; readonly default: true }>;
1162
1326
  };
1163
1327
  readonly methods: ResUsersMethods;
1164
1328
  }