@tailor-platform/erp-kit 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +10 -10
- package/dist/cli.mjs +407 -69
- package/package.json +1 -1
- package/skills/erp-kit-app-1-requirements/SKILL.md +33 -17
- package/skills/erp-kit-app-2-requirements-review/SKILL.md +12 -0
- package/skills/erp-kit-app-3-plan/SKILL.md +18 -4
- package/skills/erp-kit-app-3-plan/references/resolver-extraction.md +1 -1
- package/skills/erp-kit-app-3-plan/references/screen-extraction.md +1 -1
- package/skills/erp-kit-app-4-plan-review/SKILL.md +12 -0
- package/skills/erp-kit-app-5-impl-backend/SKILL.md +12 -0
- package/skills/erp-kit-app-6-impl-frontend/SKILL.md +12 -0
- package/skills/erp-kit-app-7-impl-review/SKILL.md +13 -1
- package/skills/erp-kit-app-shared/references/progress-protocol.md +77 -0
- package/skills/erp-kit-mock-scenario/SKILL.md +1 -1
- package/skills/erp-kit-module-1-requirements/SKILL.md +1 -1
- package/skills/erp-kit-module-3-plan/SKILL.md +3 -3
- package/skills/erp-kit-module-3-update-plan/SKILL.md +3 -3
- package/skills/erp-kit-module-5-impl/SKILL.md +1 -1
- package/src/commands/app/index.ts +2 -0
- package/src/commands/app/progress/git-context.ts +16 -0
- package/src/commands/app/progress/index.ts +45 -0
- package/src/commands/app/progress/log.ts +49 -0
- package/src/commands/app/progress/progress.test.ts +128 -0
- package/src/commands/app/progress/schema-cmd.ts +10 -0
- package/src/commands/check.test.ts +4 -4
- package/src/commands/lib/discovery.test.ts +5 -7
- package/src/commands/lib/discovery.ts +8 -8
- package/src/commands/lib/sync-check-source.test.ts +1 -1
- package/src/commands/lib/sync-check-source.ts +6 -1
- package/src/commands/lib/sync-check-tests.test.ts +43 -0
- package/src/commands/lib/sync-check-tests.ts +20 -2
- package/src/commands/sync-check.ts +3 -0
- package/src/generator/generate-app-code.test.ts +0 -6
- package/src/generator/generate-app-code.ts +3 -13
- package/src/generator/generate-code.test.ts +10 -40
- package/src/generator/generate-code.ts +6 -12
- package/src/generator/stub-templates.test.ts +0 -7
- package/src/generator/stub-templates.ts +0 -14
- package/src/modules/finance-ledger/README.md +50 -0
- package/src/modules/finance-ledger/command/.gitkeep +0 -0
- package/src/modules/finance-ledger/command/addJournalLine.generated.ts +6 -0
- package/src/modules/finance-ledger/command/addJournalLine.test.ts +438 -0
- package/src/modules/finance-ledger/command/addJournalLine.ts +122 -0
- package/src/modules/finance-ledger/command/approveAndLockPeriod.generated.ts +6 -0
- package/src/modules/finance-ledger/command/approveAndLockPeriod.test.ts +107 -0
- package/src/modules/finance-ledger/command/approveAndLockPeriod.ts +72 -0
- package/src/modules/finance-ledger/command/beginClose.generated.ts +6 -0
- package/src/modules/finance-ledger/command/beginClose.test.ts +106 -0
- package/src/modules/finance-ledger/command/beginClose.ts +58 -0
- package/src/modules/finance-ledger/command/closePeriod.generated.ts +6 -0
- package/src/modules/finance-ledger/command/closePeriod.test.ts +87 -0
- package/src/modules/finance-ledger/command/closePeriod.ts +44 -0
- package/src/modules/finance-ledger/command/createAccountingPeriod.generated.ts +6 -0
- package/src/modules/finance-ledger/command/createAccountingPeriod.test.ts +425 -0
- package/src/modules/finance-ledger/command/createAccountingPeriod.ts +133 -0
- package/src/modules/finance-ledger/command/createFiscalYear.generated.ts +6 -0
- package/src/modules/finance-ledger/command/createFiscalYear.test.ts +197 -0
- package/src/modules/finance-ledger/command/createFiscalYear.ts +70 -0
- package/src/modules/finance-ledger/command/createJournalEntry.generated.ts +6 -0
- package/src/modules/finance-ledger/command/createJournalEntry.test.ts +261 -0
- package/src/modules/finance-ledger/command/createJournalEntry.ts +121 -0
- package/src/modules/finance-ledger/command/deleteAccountingPeriod.generated.ts +6 -0
- package/src/modules/finance-ledger/command/deleteAccountingPeriod.test.ts +71 -0
- package/src/modules/finance-ledger/command/deleteAccountingPeriod.ts +55 -0
- package/src/modules/finance-ledger/command/deleteFiscalYear.generated.ts +6 -0
- package/src/modules/finance-ledger/command/deleteFiscalYear.test.ts +38 -0
- package/src/modules/finance-ledger/command/deleteFiscalYear.ts +34 -0
- package/src/modules/finance-ledger/command/deleteJournalEntry.generated.ts +6 -0
- package/src/modules/finance-ledger/command/deleteJournalEntry.test.ts +58 -0
- package/src/modules/finance-ledger/command/deleteJournalEntry.ts +43 -0
- package/src/modules/finance-ledger/command/executeYearEndClose.generated.ts +6 -0
- package/src/modules/finance-ledger/command/executeYearEndClose.test.ts +239 -0
- package/src/modules/finance-ledger/command/executeYearEndClose.ts +415 -0
- package/src/modules/finance-ledger/command/finalCloseAndLockPeriod.generated.ts +6 -0
- package/src/modules/finance-ledger/command/finalCloseAndLockPeriod.test.ts +102 -0
- package/src/modules/finance-ledger/command/finalCloseAndLockPeriod.ts +76 -0
- package/src/modules/finance-ledger/command/finalizeFinancialStatement.generated.ts +6 -0
- package/src/modules/finance-ledger/command/finalizeFinancialStatement.test.ts +73 -0
- package/src/modules/finance-ledger/command/finalizeFinancialStatement.ts +73 -0
- package/src/modules/finance-ledger/command/generateFinancialStatement.generated.ts +6 -0
- package/src/modules/finance-ledger/command/generateFinancialStatement.test.ts +311 -0
- package/src/modules/finance-ledger/command/generateFinancialStatement.ts +275 -0
- package/src/modules/finance-ledger/command/generatePreliminaryStatements.generated.ts +6 -0
- package/src/modules/finance-ledger/command/generatePreliminaryStatements.test.ts +152 -0
- package/src/modules/finance-ledger/command/generatePreliminaryStatements.ts +140 -0
- package/src/modules/finance-ledger/command/generateTrialBalance.generated.ts +6 -0
- package/src/modules/finance-ledger/command/generateTrialBalance.test.ts +439 -0
- package/src/modules/finance-ledger/command/generateTrialBalance.ts +268 -0
- package/src/modules/finance-ledger/command/initiatePeriodClose.generated.ts +6 -0
- package/src/modules/finance-ledger/command/initiatePeriodClose.test.ts +153 -0
- package/src/modules/finance-ledger/command/initiatePeriodClose.ts +84 -0
- package/src/modules/finance-ledger/command/openForAdvanceEntry.generated.ts +6 -0
- package/src/modules/finance-ledger/command/openForAdvanceEntry.test.ts +87 -0
- package/src/modules/finance-ledger/command/openForAdvanceEntry.ts +44 -0
- package/src/modules/finance-ledger/command/openPeriod.generated.ts +6 -0
- package/src/modules/finance-ledger/command/openPeriod.test.ts +90 -0
- package/src/modules/finance-ledger/command/openPeriod.ts +44 -0
- package/src/modules/finance-ledger/command/permanentlyClosePeriod.generated.ts +6 -0
- package/src/modules/finance-ledger/command/permanentlyClosePeriod.test.ts +87 -0
- package/src/modules/finance-ledger/command/permanentlyClosePeriod.ts +48 -0
- package/src/modules/finance-ledger/command/postAdjustingEntries.generated.ts +6 -0
- package/src/modules/finance-ledger/command/postAdjustingEntries.test.ts +392 -0
- package/src/modules/finance-ledger/command/postAdjustingEntries.ts +156 -0
- package/src/modules/finance-ledger/command/postJournalEntry.generated.ts +6 -0
- package/src/modules/finance-ledger/command/postJournalEntry.test.ts +346 -0
- package/src/modules/finance-ledger/command/postJournalEntry.ts +160 -0
- package/src/modules/finance-ledger/command/processInventoryHandoff.generated.ts +6 -0
- package/src/modules/finance-ledger/command/processInventoryHandoff.test.ts +211 -0
- package/src/modules/finance-ledger/command/processInventoryHandoff.ts +133 -0
- package/src/modules/finance-ledger/command/processManufacturingHandoff.generated.ts +6 -0
- package/src/modules/finance-ledger/command/processManufacturingHandoff.test.ts +221 -0
- package/src/modules/finance-ledger/command/processManufacturingHandoff.ts +133 -0
- package/src/modules/finance-ledger/command/processPurchaseHandoff.generated.ts +6 -0
- package/src/modules/finance-ledger/command/processPurchaseHandoff.test.ts +222 -0
- package/src/modules/finance-ledger/command/processPurchaseHandoff.ts +133 -0
- package/src/modules/finance-ledger/command/processSalesHandoff.generated.ts +6 -0
- package/src/modules/finance-ledger/command/processSalesHandoff.test.ts +257 -0
- package/src/modules/finance-ledger/command/processSalesHandoff.ts +135 -0
- package/src/modules/finance-ledger/command/regenerateFinancialStatement.generated.ts +6 -0
- package/src/modules/finance-ledger/command/regenerateFinancialStatement.test.ts +129 -0
- package/src/modules/finance-ledger/command/regenerateFinancialStatement.ts +186 -0
- package/src/modules/finance-ledger/command/removeJournalLine.generated.ts +6 -0
- package/src/modules/finance-ledger/command/removeJournalLine.test.ts +65 -0
- package/src/modules/finance-ledger/command/removeJournalLine.ts +39 -0
- package/src/modules/finance-ledger/command/reopenPeriod.generated.ts +6 -0
- package/src/modules/finance-ledger/command/reopenPeriod.test.ts +87 -0
- package/src/modules/finance-ledger/command/reopenPeriod.ts +44 -0
- package/src/modules/finance-ledger/command/reverseJournalEntry.generated.ts +6 -0
- package/src/modules/finance-ledger/command/reverseJournalEntry.test.ts +337 -0
- package/src/modules/finance-ledger/command/reverseJournalEntry.ts +140 -0
- package/src/modules/finance-ledger/command/revertSoftLock.generated.ts +6 -0
- package/src/modules/finance-ledger/command/revertSoftLock.test.ts +96 -0
- package/src/modules/finance-ledger/command/revertSoftLock.ts +67 -0
- package/src/modules/finance-ledger/command/updateFiscalYear.generated.ts +6 -0
- package/src/modules/finance-ledger/command/updateFiscalYear.test.ts +138 -0
- package/src/modules/finance-ledger/command/updateFiscalYear.ts +85 -0
- package/src/modules/finance-ledger/command/updateJournalEntry.generated.ts +6 -0
- package/src/modules/finance-ledger/command/updateJournalEntry.test.ts +195 -0
- package/src/modules/finance-ledger/command/updateJournalEntry.ts +86 -0
- package/src/modules/finance-ledger/command/updateJournalLine.generated.ts +6 -0
- package/src/modules/finance-ledger/command/updateJournalLine.test.ts +385 -0
- package/src/modules/finance-ledger/command/updateJournalLine.ts +155 -0
- package/src/modules/finance-ledger/command/verifySubledgerTransfers.generated.ts +6 -0
- package/src/modules/finance-ledger/command/verifySubledgerTransfers.test.ts +201 -0
- package/src/modules/finance-ledger/command/verifySubledgerTransfers.ts +113 -0
- package/src/modules/finance-ledger/command/verifyTrialBalance.generated.ts +6 -0
- package/src/modules/finance-ledger/command/verifyTrialBalance.test.ts +136 -0
- package/src/modules/finance-ledger/command/verifyTrialBalance.ts +97 -0
- package/src/modules/finance-ledger/db/.gitkeep +0 -0
- package/src/modules/finance-ledger/db/accountingPeriod.ts +58 -0
- package/src/modules/finance-ledger/db/financialStatement.ts +92 -0
- package/src/modules/finance-ledger/db/financialStatementLineItem.ts +76 -0
- package/src/modules/finance-ledger/db/fiscalYear.ts +41 -0
- package/src/modules/finance-ledger/db/journalEntry.ts +101 -0
- package/src/modules/finance-ledger/db/journalLine.ts +64 -0
- package/src/modules/finance-ledger/db/periodClose.ts +97 -0
- package/src/modules/finance-ledger/db/trialBalance.ts +63 -0
- package/src/modules/finance-ledger/db/trialBalanceLine.ts +63 -0
- package/src/modules/finance-ledger/docs/commands/AddJournalLine.md +74 -0
- package/src/modules/finance-ledger/docs/commands/ApproveAndLockPeriod.md +53 -0
- package/src/modules/finance-ledger/docs/commands/BeginClose.md +47 -0
- package/src/modules/finance-ledger/docs/commands/ClosePeriod.md +45 -0
- package/src/modules/finance-ledger/docs/commands/CreateAccountingPeriod.md +69 -0
- package/src/modules/finance-ledger/docs/commands/CreateFiscalYear.md +56 -0
- package/src/modules/finance-ledger/docs/commands/CreateJournalEntry.md +63 -0
- package/src/modules/finance-ledger/docs/commands/DeleteAccountingPeriod.md +46 -0
- package/src/modules/finance-ledger/docs/commands/DeleteFiscalYear.md +40 -0
- package/src/modules/finance-ledger/docs/commands/DeleteJournalEntry.md +44 -0
- package/src/modules/finance-ledger/docs/commands/ExecuteYearEndClose.md +81 -0
- package/src/modules/finance-ledger/docs/commands/FinalCloseAndLockPeriod.md +49 -0
- package/src/modules/finance-ledger/docs/commands/FinalizeFinancialStatement.md +43 -0
- package/src/modules/finance-ledger/docs/commands/GenerateFinancialStatement.md +86 -0
- package/src/modules/finance-ledger/docs/commands/GeneratePreliminaryStatements.md +53 -0
- package/src/modules/finance-ledger/docs/commands/GenerateTrialBalance.md +75 -0
- package/src/modules/finance-ledger/docs/commands/InitiatePeriodClose.md +58 -0
- package/src/modules/finance-ledger/docs/commands/OpenForAdvanceEntry.md +44 -0
- package/src/modules/finance-ledger/docs/commands/OpenPeriod.md +45 -0
- package/src/modules/finance-ledger/docs/commands/PermanentlyClosePeriod.md +45 -0
- package/src/modules/finance-ledger/docs/commands/PostAdjustingEntries.md +61 -0
- package/src/modules/finance-ledger/docs/commands/PostJournalEntry.md +81 -0
- package/src/modules/finance-ledger/docs/commands/ProcessInventoryHandoff.md +72 -0
- package/src/modules/finance-ledger/docs/commands/ProcessManufacturingHandoff.md +68 -0
- package/src/modules/finance-ledger/docs/commands/ProcessPurchaseHandoff.md +68 -0
- package/src/modules/finance-ledger/docs/commands/ProcessSalesHandoff.md +71 -0
- package/src/modules/finance-ledger/docs/commands/RegenerateFinancialStatement.md +60 -0
- package/src/modules/finance-ledger/docs/commands/RemoveJournalLine.md +42 -0
- package/src/modules/finance-ledger/docs/commands/ReopenPeriod.md +45 -0
- package/src/modules/finance-ledger/docs/commands/ReverseJournalEntry.md +62 -0
- package/src/modules/finance-ledger/docs/commands/RevertSoftLock.md +49 -0
- package/src/modules/finance-ledger/docs/commands/UpdateFiscalYear.md +60 -0
- package/src/modules/finance-ledger/docs/commands/UpdateJournalEntry.md +50 -0
- package/src/modules/finance-ledger/docs/commands/UpdateJournalLine.md +61 -0
- package/src/modules/finance-ledger/docs/commands/VerifySubledgerTransfers.md +59 -0
- package/src/modules/finance-ledger/docs/commands/VerifyTrialBalance.md +53 -0
- package/src/modules/finance-ledger/docs/features/accounting-period-management.md +110 -0
- package/src/modules/finance-ledger/docs/features/financial-statement-generation.md +115 -0
- package/src/modules/finance-ledger/docs/features/journal-entry-management.md +138 -0
- package/src/modules/finance-ledger/docs/features/period-end-close.md +102 -0
- package/src/modules/finance-ledger/docs/features/subledger-integration.md +141 -0
- package/src/modules/finance-ledger/docs/features/trial-balance.md +99 -0
- package/src/modules/finance-ledger/docs/features/year-end-close.md +84 -0
- package/src/modules/finance-ledger/docs/models/AccountingPeriod.md +71 -0
- package/src/modules/finance-ledger/docs/models/FinancialStatement.md +76 -0
- package/src/modules/finance-ledger/docs/models/FinancialStatementLineItem.md +41 -0
- package/src/modules/finance-ledger/docs/models/FiscalYear.md +41 -0
- package/src/modules/finance-ledger/docs/models/JournalEntry.md +80 -0
- package/src/modules/finance-ledger/docs/models/JournalLine.md +47 -0
- package/src/modules/finance-ledger/docs/models/PeriodClose.md +83 -0
- package/src/modules/finance-ledger/docs/models/TrialBalance.md +56 -0
- package/src/modules/finance-ledger/docs/models/TrialBalanceLine.md +37 -0
- package/src/modules/finance-ledger/docs/queries/GetAccountingPeriod.md +35 -0
- package/src/modules/finance-ledger/docs/queries/GetFinancialStatement.md +38 -0
- package/src/modules/finance-ledger/docs/queries/GetFiscalYear.md +35 -0
- package/src/modules/finance-ledger/docs/queries/GetJournalEntry.md +37 -0
- package/src/modules/finance-ledger/docs/queries/GetPeriodByDate.md +38 -0
- package/src/modules/finance-ledger/docs/queries/GetPeriodClose.md +36 -0
- package/src/modules/finance-ledger/docs/queries/GetSubledgerTransferStatus.md +45 -0
- package/src/modules/finance-ledger/docs/queries/GetTrialBalance.md +38 -0
- package/src/modules/finance-ledger/docs/queries/ListAccountingPeriods.md +46 -0
- package/src/modules/finance-ledger/docs/queries/ListFinancialStatements.md +46 -0
- package/src/modules/finance-ledger/docs/queries/ListFiscalYears.md +42 -0
- package/src/modules/finance-ledger/docs/queries/ListJournalEntries.md +48 -0
- package/src/modules/finance-ledger/docs/queries/ListPeriodCloses.md +46 -0
- package/src/modules/finance-ledger/docs/queries/ListTrialBalances.md +51 -0
- package/src/modules/finance-ledger/executor/.gitkeep +0 -0
- package/src/modules/finance-ledger/generated/enums.ts +109 -0
- package/src/modules/finance-ledger/generated/kysely-tailordb.ts +202 -0
- package/src/modules/finance-ledger/index.ts +2 -0
- package/src/modules/finance-ledger/lib/_db_deps.ts +56 -0
- package/src/modules/finance-ledger/lib/errors.generated.ts +332 -0
- package/src/modules/finance-ledger/lib/permissions.generated.ts +41 -0
- package/src/modules/finance-ledger/lib/types.ts +66 -0
- package/src/modules/finance-ledger/module.ts +262 -0
- package/src/modules/finance-ledger/package.json +26 -0
- package/src/modules/finance-ledger/permissions.ts +3 -0
- package/src/modules/finance-ledger/query/.gitkeep +0 -0
- package/src/modules/finance-ledger/query/getAccountingPeriod.generated.ts +5 -0
- package/src/modules/finance-ledger/query/getAccountingPeriod.test.ts +31 -0
- package/src/modules/finance-ledger/query/getAccountingPeriod.ts +21 -0
- package/src/modules/finance-ledger/query/getFinancialStatement.generated.ts +5 -0
- package/src/modules/finance-ledger/query/getFinancialStatement.test.ts +35 -0
- package/src/modules/finance-ledger/query/getFinancialStatement.ts +29 -0
- package/src/modules/finance-ledger/query/getFiscalYear.generated.ts +5 -0
- package/src/modules/finance-ledger/query/getFiscalYear.test.ts +31 -0
- package/src/modules/finance-ledger/query/getFiscalYear.ts +21 -0
- package/src/modules/finance-ledger/query/getJournalEntry.generated.ts +5 -0
- package/src/modules/finance-ledger/query/getJournalEntry.test.ts +35 -0
- package/src/modules/finance-ledger/query/getJournalEntry.ts +29 -0
- package/src/modules/finance-ledger/query/getPeriodByDate.generated.ts +5 -0
- package/src/modules/finance-ledger/query/getPeriodByDate.test.ts +53 -0
- package/src/modules/finance-ledger/query/getPeriodByDate.ts +27 -0
- package/src/modules/finance-ledger/query/getPeriodClose.generated.ts +5 -0
- package/src/modules/finance-ledger/query/getPeriodClose.test.ts +31 -0
- package/src/modules/finance-ledger/query/getPeriodClose.ts +21 -0
- package/src/modules/finance-ledger/query/getSubledgerTransferStatus.generated.ts +5 -0
- package/src/modules/finance-ledger/query/getSubledgerTransferStatus.test.ts +101 -0
- package/src/modules/finance-ledger/query/getSubledgerTransferStatus.ts +68 -0
- package/src/modules/finance-ledger/query/getTrialBalance.generated.ts +5 -0
- package/src/modules/finance-ledger/query/getTrialBalance.test.ts +33 -0
- package/src/modules/finance-ledger/query/getTrialBalance.ts +30 -0
- package/src/modules/finance-ledger/query/listAccountingPeriods.generated.ts +5 -0
- package/src/modules/finance-ledger/query/listAccountingPeriods.test.ts +81 -0
- package/src/modules/finance-ledger/query/listAccountingPeriods.ts +61 -0
- package/src/modules/finance-ledger/query/listFinancialStatements.generated.ts +5 -0
- package/src/modules/finance-ledger/query/listFinancialStatements.test.ts +76 -0
- package/src/modules/finance-ledger/query/listFinancialStatements.ts +62 -0
- package/src/modules/finance-ledger/query/listFiscalYears.generated.ts +5 -0
- package/src/modules/finance-ledger/query/listFiscalYears.test.ts +63 -0
- package/src/modules/finance-ledger/query/listFiscalYears.ts +45 -0
- package/src/modules/finance-ledger/query/listJournalEntries.generated.ts +5 -0
- package/src/modules/finance-ledger/query/listJournalEntries.test.ts +91 -0
- package/src/modules/finance-ledger/query/listJournalEntries.ts +64 -0
- package/src/modules/finance-ledger/query/listPeriodCloses.generated.ts +5 -0
- package/src/modules/finance-ledger/query/listPeriodCloses.test.ts +63 -0
- package/src/modules/finance-ledger/query/listPeriodCloses.ts +64 -0
- package/src/modules/finance-ledger/query/listTrialBalances.generated.ts +5 -0
- package/src/modules/finance-ledger/query/listTrialBalances.test.ts +78 -0
- package/src/modules/finance-ledger/query/listTrialBalances.ts +56 -0
- package/src/modules/finance-ledger/seed/index.ts +19 -0
- package/src/modules/finance-ledger/tailor.config.ts +13 -0
- package/src/modules/finance-ledger/tailor.d.ts +13 -0
- package/src/modules/finance-ledger/testing/commandTestUtils.ts +35 -0
- package/src/modules/finance-ledger/testing/fixtures.ts +382 -0
- package/src/modules/finance-ledger/tsconfig.json +16 -0
- package/src/progress/schema.test.ts +161 -0
- package/src/progress/schema.ts +316 -0
- package/templates/scaffold/app/backend/package.json +1 -3
- package/templates/scaffold/app/backend/vitest.config.ts +4 -21
- package/src/generator/generate-stubs.ts +0 -35
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# ListAccountingPeriods
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ListAccountingPeriods retrieves a list of accounting periods for a given company or fiscal year, with optional filters for status and period type. Results are sorted by startDate ascending. This query supports period navigation, close workflow coordination, and upstream module posting validation.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- At least one scoping parameter is required: `companyId` or `fiscalYearId`
|
|
10
|
+
- Optional filters:
|
|
11
|
+
- `status` — filter by period status (NEVER_OPENED, FUTURE_ENTERABLE, OPEN, CLOSED, PERMANENTLY_CLOSED)
|
|
12
|
+
- `periodType` — filter by period type (OPERATING, ADJUSTMENT)
|
|
13
|
+
- All filters can be combined; when multiple filters are provided, results must match all criteria (AND logic)
|
|
14
|
+
- Returns full accounting period records (same shape as GetAccountingPeriod output)
|
|
15
|
+
- Results are sorted by startDate ascending
|
|
16
|
+
- Returns an empty list if no periods match the filters
|
|
17
|
+
|
|
18
|
+
## Process Flow
|
|
19
|
+
|
|
20
|
+
```mermaid
|
|
21
|
+
flowchart TD
|
|
22
|
+
A[Receive input with companyId or fiscalYearId] --> B[Build query with scope]
|
|
23
|
+
B --> C{Filters provided?}
|
|
24
|
+
C -->|Yes| D[Apply status and/or periodType filters]
|
|
25
|
+
C -->|No| E[Return all periods in scope]
|
|
26
|
+
D --> E
|
|
27
|
+
E --> F[Sort by startDate ascending]
|
|
28
|
+
F --> G[Return period list]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## External Dependencies
|
|
32
|
+
|
|
33
|
+
- None
|
|
34
|
+
|
|
35
|
+
## Error Scenarios
|
|
36
|
+
|
|
37
|
+
- **EMPTY_RESULT**: No accounting periods match the given criteria — returns empty list
|
|
38
|
+
|
|
39
|
+
## Test Cases
|
|
40
|
+
|
|
41
|
+
- returns error when neither companyId nor fiscalYearId is provided
|
|
42
|
+
- returns all accounting periods for a company
|
|
43
|
+
- returns accounting periods filtered by fiscal year
|
|
44
|
+
- returns accounting periods filtered by status
|
|
45
|
+
- returns accounting periods filtered by period type
|
|
46
|
+
- returns empty list when no accounting periods match
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# ListFinancialStatements
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ListFinancialStatements retrieves a list of financial statements for a given company, with optional filters for statement type, status, and date range. Results are sorted by creation date descending. This query supports statement management, audit review, and reporting history navigation.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- companyId is required — financial statements are always scoped to a company
|
|
10
|
+
- Optional filters:
|
|
11
|
+
- `statementType` — filter by statement type (BALANCE_SHEET, PROFIT_AND_LOSS, CASH_FLOW)
|
|
12
|
+
- `status` — filter by status (DRAFT, FINALIZED)
|
|
13
|
+
- `dateRange` — filter by reporting date or date range overlap
|
|
14
|
+
- All filters can be combined; when multiple filters are provided, results must match all criteria (AND logic)
|
|
15
|
+
- Returns financial statement records including header fields (line items are not included in list results for performance)
|
|
16
|
+
- Results are sorted by creation date descending
|
|
17
|
+
- Returns an empty list if no financial statements match the filters
|
|
18
|
+
|
|
19
|
+
## Process Flow
|
|
20
|
+
|
|
21
|
+
```mermaid
|
|
22
|
+
flowchart TD
|
|
23
|
+
A[Receive input with companyId] --> B[Build query scoped to companyId]
|
|
24
|
+
B --> C{Filters provided?}
|
|
25
|
+
C -->|Yes| D[Apply statementType, status, and/or dateRange filters]
|
|
26
|
+
C -->|No| E[Return all financial statements for company]
|
|
27
|
+
D --> E
|
|
28
|
+
E --> F[Sort by creation date descending]
|
|
29
|
+
F --> G[Return financial statement list]
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## External Dependencies
|
|
33
|
+
|
|
34
|
+
- None
|
|
35
|
+
|
|
36
|
+
## Error Scenarios
|
|
37
|
+
|
|
38
|
+
- **EMPTY_RESULT**: No financial statements match the given criteria — returns empty list
|
|
39
|
+
|
|
40
|
+
## Test Cases
|
|
41
|
+
|
|
42
|
+
- returns all financial statements for a company
|
|
43
|
+
- returns financial statements filtered by statement type
|
|
44
|
+
- returns financial statements filtered by status
|
|
45
|
+
- returns financial statements filtered by dateRange
|
|
46
|
+
- returns empty list when no financial statements match
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# ListFiscalYears
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ListFiscalYears retrieves a list of fiscal years for a given company, with optional date range filtering. Results are sorted by startDate ascending. This query supports fiscal calendar navigation, period setup workflows, and year-end close coordination.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- companyId is required — fiscal years are always scoped to a company
|
|
10
|
+
- Optional filters:
|
|
11
|
+
- `startDate` / `endDate` — filter fiscal years overlapping the specified date range
|
|
12
|
+
- Returns full fiscal year records (same shape as GetFiscalYear output)
|
|
13
|
+
- Results are sorted by startDate ascending
|
|
14
|
+
- Returns an empty list if no fiscal years match the filters
|
|
15
|
+
|
|
16
|
+
## Process Flow
|
|
17
|
+
|
|
18
|
+
```mermaid
|
|
19
|
+
flowchart TD
|
|
20
|
+
A[Receive input with companyId] --> B[Build query scoped to companyId]
|
|
21
|
+
B --> C{Date range filter provided?}
|
|
22
|
+
C -->|Yes| D[Apply date range filter to query]
|
|
23
|
+
C -->|No| E[Return all fiscal years for company]
|
|
24
|
+
D --> E
|
|
25
|
+
E --> F[Sort by startDate ascending]
|
|
26
|
+
F --> G[Return fiscal year list]
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## External Dependencies
|
|
30
|
+
|
|
31
|
+
- None
|
|
32
|
+
|
|
33
|
+
## Error Scenarios
|
|
34
|
+
|
|
35
|
+
- **EMPTY_RESULT**: No fiscal years match the given criteria — returns empty list
|
|
36
|
+
|
|
37
|
+
## Test Cases
|
|
38
|
+
|
|
39
|
+
- returns all fiscal years for a company
|
|
40
|
+
- returns fiscal years filtered by startDate
|
|
41
|
+
- returns fiscal years filtered by endDate
|
|
42
|
+
- returns empty list when no fiscal years match
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# ListJournalEntries
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ListJournalEntries retrieves a list of journal entries with various filters. This query supports journal review workflows, period-end reconciliation, audit inquiries, and subledger-to-GL reconciliation by allowing filtering on company, period, journal type, status, and date range. Results are sorted by entryDate descending.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- companyId is required — journal entries are always scoped to a company
|
|
10
|
+
- Optional filters:
|
|
11
|
+
- `accountingPeriodId` — filter by accounting period
|
|
12
|
+
- `journalType` — filter by journal type (Sales, Purchase, Cash, Bank, Miscellaneous, Opening, Closing)
|
|
13
|
+
- `status` — filter by status (DRAFT, POSTED, REVERSED)
|
|
14
|
+
- `dateRange` — filter by entry date range (startDate and endDate)
|
|
15
|
+
- All filters can be combined; when multiple filters are provided, results must match all criteria (AND logic)
|
|
16
|
+
- Returns full journal entry records including header fields (journal lines are not included in list results for performance)
|
|
17
|
+
- Results are sorted by entryDate descending
|
|
18
|
+
- Returns an empty list if no journal entries match the filters
|
|
19
|
+
|
|
20
|
+
## Process Flow
|
|
21
|
+
|
|
22
|
+
```mermaid
|
|
23
|
+
flowchart TD
|
|
24
|
+
A[Receive input with companyId] --> B[Build query scoped to companyId]
|
|
25
|
+
B --> C{Filters provided?}
|
|
26
|
+
C -->|Yes| D[Apply accountingPeriodId, journalType, status, and/or dateRange filters]
|
|
27
|
+
C -->|No| E[Return all journal entries for company]
|
|
28
|
+
D --> E
|
|
29
|
+
E --> F[Sort by entryDate descending]
|
|
30
|
+
F --> G[Return journal entry list]
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## External Dependencies
|
|
34
|
+
|
|
35
|
+
- None
|
|
36
|
+
|
|
37
|
+
## Error Scenarios
|
|
38
|
+
|
|
39
|
+
- **EMPTY_RESULT**: No journal entries match the given criteria — returns empty list
|
|
40
|
+
|
|
41
|
+
## Test Cases
|
|
42
|
+
|
|
43
|
+
- returns all journal entries for a company
|
|
44
|
+
- returns journal entries filtered by accounting period
|
|
45
|
+
- returns journal entries filtered by journal type
|
|
46
|
+
- returns journal entries filtered by status
|
|
47
|
+
- returns journal entries filtered by date range
|
|
48
|
+
- returns empty list when no journal entries match
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# ListPeriodCloses
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ListPeriodCloses retrieves a list of period close records for a given company, with optional filters by fiscal year and status. Results are sorted by the associated accounting period's start date ascending. This query supports close coordination dashboards, audit trail review, and multi-entity close progress tracking.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- companyId is required — period close records are always scoped to a company via their associated accounting period
|
|
10
|
+
- Optional filters:
|
|
11
|
+
- `fiscalYearId` — filter to period closes within a specific fiscal year
|
|
12
|
+
- `status` — filter by close status (NOT_STARTED, IN_PROGRESS, SUBLEDGERS_VERIFIED, ADJUSTMENTS_POSTED, TRIAL_BALANCE_VERIFIED, UNDER_REVIEW, SOFT_LOCKED, PERMANENTLY_CLOSED)
|
|
13
|
+
- All filters can be combined; when multiple filters are provided, results must match all criteria (AND logic)
|
|
14
|
+
- Returns full period close records (same shape as GetPeriodClose output)
|
|
15
|
+
- Results are sorted by the associated accounting period's start date ascending
|
|
16
|
+
- Returns an empty list if no period close records match the filters
|
|
17
|
+
|
|
18
|
+
## Process Flow
|
|
19
|
+
|
|
20
|
+
```mermaid
|
|
21
|
+
flowchart TD
|
|
22
|
+
A[Receive input with companyId] --> B[Build query scoped to companyId via accounting period join]
|
|
23
|
+
B --> C{Fiscal year filter provided?}
|
|
24
|
+
C -->|Yes| D[Apply fiscal year filter]
|
|
25
|
+
C -->|No| E{Status filter provided?}
|
|
26
|
+
D --> E
|
|
27
|
+
E -->|Yes| F[Apply status filter]
|
|
28
|
+
E -->|No| G[Sort by associated period startDate ascending]
|
|
29
|
+
F --> G
|
|
30
|
+
G --> H[Return period close list]
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## External Dependencies
|
|
34
|
+
|
|
35
|
+
- None
|
|
36
|
+
|
|
37
|
+
## Error Scenarios
|
|
38
|
+
|
|
39
|
+
- **EMPTY_RESULT**: No period close records match the given criteria — returns empty list
|
|
40
|
+
|
|
41
|
+
## Test Cases
|
|
42
|
+
|
|
43
|
+
- returns all period closes for a company
|
|
44
|
+
- returns period closes filtered by fiscal year
|
|
45
|
+
- returns period closes filtered by status
|
|
46
|
+
- returns empty list when no period closes match
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# ListTrialBalances
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ListTrialBalances retrieves a list of trial balance snapshots for a given company, with optional filters by accounting period and variant (PRE_CLOSE or POST_CLOSE). Results are sorted by generation timestamp descending. This query supports multi-period comparison, audit preparation, and period-end close workflows.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- companyId is required — trial balances are always scoped to a company
|
|
10
|
+
- Optional filters:
|
|
11
|
+
- `accountingPeriodId` — filter to a specific period
|
|
12
|
+
- `variant` — filter by PRE_CLOSE or POST_CLOSE
|
|
13
|
+
- `fiscalYearId` — filter to all periods within a fiscal year
|
|
14
|
+
- All filters can be combined; when multiple filters are provided, results must match all criteria (AND logic)
|
|
15
|
+
- Returns trial balance header records (generation parameters, variant, timestamp — line items are not included in list results for performance)
|
|
16
|
+
- Results are sorted by generatedAt timestamp descending (most recent first)
|
|
17
|
+
- Returns an empty list if no trial balances match the filters
|
|
18
|
+
|
|
19
|
+
## Process Flow
|
|
20
|
+
|
|
21
|
+
```mermaid
|
|
22
|
+
flowchart TD
|
|
23
|
+
A[Receive input with companyId] --> B[Build query scoped to companyId]
|
|
24
|
+
B --> C{Period filter provided?}
|
|
25
|
+
C -->|Yes| D[Apply accounting period filter]
|
|
26
|
+
C -->|No| E{Fiscal year filter provided?}
|
|
27
|
+
D --> F{Variant filter provided?}
|
|
28
|
+
E -->|Yes| G[Apply fiscal year filter via period lookup]
|
|
29
|
+
E -->|No| F
|
|
30
|
+
G --> F
|
|
31
|
+
F -->|Yes| H[Apply variant filter]
|
|
32
|
+
F -->|No| I[Sort by generatedAt descending]
|
|
33
|
+
H --> I
|
|
34
|
+
I --> J[Return trial balance list]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## External Dependencies
|
|
38
|
+
|
|
39
|
+
- None
|
|
40
|
+
|
|
41
|
+
## Error Scenarios
|
|
42
|
+
|
|
43
|
+
- **EMPTY_RESULT**: No trial balances match the given criteria — returns empty list
|
|
44
|
+
|
|
45
|
+
## Test Cases
|
|
46
|
+
|
|
47
|
+
- returns all trial balances for a company
|
|
48
|
+
- returns trial balances filtered by accounting period
|
|
49
|
+
- returns trial balances filtered by variant
|
|
50
|
+
- returns trial balances filtered by fiscal year via subquery
|
|
51
|
+
- returns empty list when no trial balances match
|
|
File without changes
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Period type
|
|
3
|
+
*/
|
|
4
|
+
export const AccountingPeriodPeriodType = {
|
|
5
|
+
"OPERATING": "OPERATING",
|
|
6
|
+
"ADJUSTMENT": "ADJUSTMENT"
|
|
7
|
+
} as const;
|
|
8
|
+
export type AccountingPeriodPeriodType = (typeof AccountingPeriodPeriodType)[keyof typeof AccountingPeriodPeriodType];
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Accounting period lifecycle status
|
|
12
|
+
*/
|
|
13
|
+
export const AccountingPeriodStatus = {
|
|
14
|
+
"NEVER_OPENED": "NEVER_OPENED",
|
|
15
|
+
"FUTURE_ENTERABLE": "FUTURE_ENTERABLE",
|
|
16
|
+
"OPEN": "OPEN",
|
|
17
|
+
"CLOSED": "CLOSED",
|
|
18
|
+
"PERMANENTLY_CLOSED": "PERMANENTLY_CLOSED"
|
|
19
|
+
} as const;
|
|
20
|
+
export type AccountingPeriodStatus = (typeof AccountingPeriodStatus)[keyof typeof AccountingPeriodStatus];
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Type of financial statement
|
|
24
|
+
*/
|
|
25
|
+
export const FinancialStatementStatementType = {
|
|
26
|
+
"BALANCE_SHEET": "BALANCE_SHEET",
|
|
27
|
+
"PROFIT_AND_LOSS": "PROFIT_AND_LOSS",
|
|
28
|
+
"CASH_FLOW": "CASH_FLOW"
|
|
29
|
+
} as const;
|
|
30
|
+
export type FinancialStatementStatementType = (typeof FinancialStatementStatementType)[keyof typeof FinancialStatementStatementType];
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Financial statement lifecycle status
|
|
34
|
+
*/
|
|
35
|
+
export const FinancialStatementStatus = {
|
|
36
|
+
"DRAFT": "DRAFT",
|
|
37
|
+
"FINALIZED": "FINALIZED"
|
|
38
|
+
} as const;
|
|
39
|
+
export type FinancialStatementStatus = (typeof FinancialStatementStatus)[keyof typeof FinancialStatementStatus];
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Line type: DETAIL, SUBTOTAL, or TOTAL
|
|
43
|
+
*/
|
|
44
|
+
export const FinancialStatementLineItemLineType = {
|
|
45
|
+
"DETAIL": "DETAIL",
|
|
46
|
+
"SUBTOTAL": "SUBTOTAL",
|
|
47
|
+
"TOTAL": "TOTAL"
|
|
48
|
+
} as const;
|
|
49
|
+
export type FinancialStatementLineItemLineType = (typeof FinancialStatementLineItemLineType)[keyof typeof FinancialStatementLineItemLineType];
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Journal type categorizing the business origin (SALES, PURCHASE, CASH, BANK, MISCELLANEOUS, OPENING, CLOSING, INVENTORY, MANUFACTURING)
|
|
53
|
+
*/
|
|
54
|
+
export const JournalEntryJournalType = {
|
|
55
|
+
"SALES": "SALES",
|
|
56
|
+
"PURCHASE": "PURCHASE",
|
|
57
|
+
"CASH": "CASH",
|
|
58
|
+
"BANK": "BANK",
|
|
59
|
+
"MISCELLANEOUS": "MISCELLANEOUS",
|
|
60
|
+
"OPENING": "OPENING",
|
|
61
|
+
"CLOSING": "CLOSING",
|
|
62
|
+
"INVENTORY": "INVENTORY",
|
|
63
|
+
"MANUFACTURING": "MANUFACTURING"
|
|
64
|
+
} as const;
|
|
65
|
+
export type JournalEntryJournalType = (typeof JournalEntryJournalType)[keyof typeof JournalEntryJournalType];
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Journal entry lifecycle status (DRAFT, POSTED, REVERSED)
|
|
69
|
+
*/
|
|
70
|
+
export const JournalEntryStatus = {
|
|
71
|
+
"DRAFT": "DRAFT",
|
|
72
|
+
"POSTED": "POSTED",
|
|
73
|
+
"REVERSED": "REVERSED"
|
|
74
|
+
} as const;
|
|
75
|
+
export type JournalEntryStatus = (typeof JournalEntryStatus)[keyof typeof JournalEntryStatus];
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Optional adjusting entry type for period-end adjustments (ACCRUAL, DEFERRAL, RECLASSIFICATION)
|
|
79
|
+
*/
|
|
80
|
+
export const JournalEntryAdjustingEntryType = {
|
|
81
|
+
"ACCRUAL": "ACCRUAL",
|
|
82
|
+
"DEFERRAL": "DEFERRAL",
|
|
83
|
+
"RECLASSIFICATION": "RECLASSIFICATION"
|
|
84
|
+
} as const;
|
|
85
|
+
export type JournalEntryAdjustingEntryType = (typeof JournalEntryAdjustingEntryType)[keyof typeof JournalEntryAdjustingEntryType];
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Period close lifecycle status
|
|
89
|
+
*/
|
|
90
|
+
export const PeriodCloseStatus = {
|
|
91
|
+
"NOT_STARTED": "NOT_STARTED",
|
|
92
|
+
"IN_PROGRESS": "IN_PROGRESS",
|
|
93
|
+
"SUBLEDGERS_VERIFIED": "SUBLEDGERS_VERIFIED",
|
|
94
|
+
"ADJUSTMENTS_POSTED": "ADJUSTMENTS_POSTED",
|
|
95
|
+
"TRIAL_BALANCE_VERIFIED": "TRIAL_BALANCE_VERIFIED",
|
|
96
|
+
"UNDER_REVIEW": "UNDER_REVIEW",
|
|
97
|
+
"SOFT_LOCKED": "SOFT_LOCKED",
|
|
98
|
+
"PERMANENTLY_CLOSED": "PERMANENTLY_CLOSED"
|
|
99
|
+
} as const;
|
|
100
|
+
export type PeriodCloseStatus = (typeof PeriodCloseStatus)[keyof typeof PeriodCloseStatus];
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Trial balance variant (PRE_CLOSE or POST_CLOSE)
|
|
104
|
+
*/
|
|
105
|
+
export const TrialBalanceVariant = {
|
|
106
|
+
"PRE_CLOSE": "PRE_CLOSE",
|
|
107
|
+
"POST_CLOSE": "POST_CLOSE"
|
|
108
|
+
} as const;
|
|
109
|
+
export type TrialBalanceVariant = (typeof TrialBalanceVariant)[keyof typeof TrialBalanceVariant];
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createGetDB,
|
|
3
|
+
type Generated,
|
|
4
|
+
type Timestamp,
|
|
5
|
+
type NamespaceDB,
|
|
6
|
+
type NamespaceInsertable,
|
|
7
|
+
type NamespaceSelectable,
|
|
8
|
+
type NamespaceTable,
|
|
9
|
+
type NamespaceTableName,
|
|
10
|
+
type NamespaceTransaction,
|
|
11
|
+
type NamespaceUpdateable,
|
|
12
|
+
} from "@tailor-platform/sdk/kysely";
|
|
13
|
+
|
|
14
|
+
export interface Namespace {
|
|
15
|
+
"main-db": {
|
|
16
|
+
AccountingPeriod: {
|
|
17
|
+
id: Generated<string>;
|
|
18
|
+
companyId: string;
|
|
19
|
+
fiscalYearId: string;
|
|
20
|
+
name: string;
|
|
21
|
+
startDate: Timestamp;
|
|
22
|
+
endDate: Timestamp;
|
|
23
|
+
periodType: "OPERATING" | "ADJUSTMENT";
|
|
24
|
+
status: "NEVER_OPENED" | "FUTURE_ENTERABLE" | "OPEN" | "CLOSED" | "PERMANENTLY_CLOSED";
|
|
25
|
+
createdAt: Generated<Timestamp>;
|
|
26
|
+
updatedAt: Timestamp | null;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
FinancialStatement: {
|
|
30
|
+
id: Generated<string>;
|
|
31
|
+
companyId: string;
|
|
32
|
+
chartOfAccountsId: string;
|
|
33
|
+
trialBalanceId: string;
|
|
34
|
+
comparativePeriodTrialBalanceId: string | null;
|
|
35
|
+
statementType: "BALANCE_SHEET" | "PROFIT_AND_LOSS" | "CASH_FLOW";
|
|
36
|
+
status: "DRAFT" | "FINALIZED";
|
|
37
|
+
reportingDate: Timestamp | null;
|
|
38
|
+
startDate: Timestamp | null;
|
|
39
|
+
endDate: Timestamp | null;
|
|
40
|
+
cashFlowMethod: string | null;
|
|
41
|
+
generatedAt: Timestamp;
|
|
42
|
+
finalizedAt: Timestamp | null;
|
|
43
|
+
createdAt: Generated<Timestamp>;
|
|
44
|
+
updatedAt: Timestamp | null;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
FinancialStatementLineItem: {
|
|
48
|
+
id: Generated<string>;
|
|
49
|
+
financialStatementId: string;
|
|
50
|
+
accountId: string | null;
|
|
51
|
+
accountGroupId: string | null;
|
|
52
|
+
label: string;
|
|
53
|
+
amount: number;
|
|
54
|
+
comparativeAmount: number | null;
|
|
55
|
+
lineType: "DETAIL" | "SUBTOTAL" | "TOTAL";
|
|
56
|
+
sectionType: string;
|
|
57
|
+
sortOrder: number;
|
|
58
|
+
createdAt: Generated<Timestamp>;
|
|
59
|
+
updatedAt: Timestamp | null;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
FiscalYear: {
|
|
63
|
+
id: Generated<string>;
|
|
64
|
+
companyId: string;
|
|
65
|
+
name: string;
|
|
66
|
+
startDate: Timestamp;
|
|
67
|
+
endDate: Timestamp;
|
|
68
|
+
yearEndCloseExecuted: boolean;
|
|
69
|
+
createdAt: Generated<Timestamp>;
|
|
70
|
+
updatedAt: Timestamp | null;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
JournalEntry: {
|
|
74
|
+
id: Generated<string>;
|
|
75
|
+
companyId: string;
|
|
76
|
+
accountingPeriodId: string;
|
|
77
|
+
entryDate: Timestamp;
|
|
78
|
+
journalType: "SALES" | "PURCHASE" | "CASH" | "BANK" | "MISCELLANEOUS" | "OPENING" | "CLOSING" | "INVENTORY" | "MANUFACTURING";
|
|
79
|
+
referenceNumber: string;
|
|
80
|
+
status: "DRAFT" | "POSTED" | "REVERSED";
|
|
81
|
+
description: string | null;
|
|
82
|
+
sourceDocumentReference: string | null;
|
|
83
|
+
adjustingEntryType: "ACCRUAL" | "DEFERRAL" | "RECLASSIFICATION" | null;
|
|
84
|
+
reversalOfId: string | null;
|
|
85
|
+
postedAt: Timestamp | null;
|
|
86
|
+
createdAt: Generated<Timestamp>;
|
|
87
|
+
updatedAt: Timestamp | null;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
JournalLine: {
|
|
91
|
+
id: Generated<string>;
|
|
92
|
+
journalEntryId: string;
|
|
93
|
+
accountId: string;
|
|
94
|
+
debitAmount: number | null;
|
|
95
|
+
creditAmount: number | null;
|
|
96
|
+
description: string | null;
|
|
97
|
+
currencyCode: string | null;
|
|
98
|
+
exchangeRate: number | null;
|
|
99
|
+
functionalDebitAmount: number | null;
|
|
100
|
+
functionalCreditAmount: number | null;
|
|
101
|
+
createdAt: Generated<Timestamp>;
|
|
102
|
+
updatedAt: Timestamp | null;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
PeriodClose: {
|
|
106
|
+
id: Generated<string>;
|
|
107
|
+
accountingPeriodId: string;
|
|
108
|
+
status: "NOT_STARTED" | "IN_PROGRESS" | "SUBLEDGERS_VERIFIED" | "ADJUSTMENTS_POSTED" | "TRIAL_BALANCE_VERIFIED" | "UNDER_REVIEW" | "SOFT_LOCKED" | "PERMANENTLY_CLOSED";
|
|
109
|
+
initiatedByUserId: string;
|
|
110
|
+
completionPercentage: number;
|
|
111
|
+
subledgerVerificationDetails: string | null;
|
|
112
|
+
trialBalanceId: string | null;
|
|
113
|
+
preliminaryStatementIds: string | null;
|
|
114
|
+
approvedByUserId: string | null;
|
|
115
|
+
finalizedByUserId: string | null;
|
|
116
|
+
yearEndCloseExecuted: boolean;
|
|
117
|
+
createdAt: Generated<Timestamp>;
|
|
118
|
+
updatedAt: Timestamp | null;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
TrialBalance: {
|
|
122
|
+
id: Generated<string>;
|
|
123
|
+
companyId: string;
|
|
124
|
+
accountingPeriodId: string;
|
|
125
|
+
chartOfAccountsId: string;
|
|
126
|
+
variant: "PRE_CLOSE" | "POST_CLOSE";
|
|
127
|
+
generatedAt: Timestamp;
|
|
128
|
+
totalDebits: number;
|
|
129
|
+
totalCredits: number;
|
|
130
|
+
isBalanced: boolean;
|
|
131
|
+
createdAt: Generated<Timestamp>;
|
|
132
|
+
updatedAt: Timestamp | null;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
TrialBalanceLine: {
|
|
136
|
+
id: Generated<string>;
|
|
137
|
+
trialBalanceId: string;
|
|
138
|
+
accountId: string;
|
|
139
|
+
accountGroupId: string | null;
|
|
140
|
+
accountCode: string;
|
|
141
|
+
accountName: string;
|
|
142
|
+
openingBalance: number;
|
|
143
|
+
periodDebits: number;
|
|
144
|
+
periodCredits: number;
|
|
145
|
+
closingBalance: number;
|
|
146
|
+
sortOrder: number;
|
|
147
|
+
createdAt: Generated<Timestamp>;
|
|
148
|
+
updatedAt: Timestamp | null;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
Account: {
|
|
152
|
+
id: Generated<string>;
|
|
153
|
+
code: string | null;
|
|
154
|
+
name: string | null;
|
|
155
|
+
classification: string | null;
|
|
156
|
+
status: string | null;
|
|
157
|
+
successorAccountId: string | null;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
AccountGroup: {
|
|
161
|
+
id: Generated<string>;
|
|
162
|
+
name: string | null;
|
|
163
|
+
code: string | null;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
ChartOfAccounts: {
|
|
167
|
+
id: Generated<string>;
|
|
168
|
+
companyId: string | null;
|
|
169
|
+
status: string | null;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
Company: {
|
|
173
|
+
id: Generated<string>;
|
|
174
|
+
status: string | null;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
Currency: {
|
|
178
|
+
id: Generated<string>;
|
|
179
|
+
code: string | null;
|
|
180
|
+
isActive: boolean | null;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
User: {
|
|
184
|
+
id: Generated<string>;
|
|
185
|
+
status: string | null;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
export const getDB = createGetDB<Namespace>();
|
|
191
|
+
|
|
192
|
+
export type DB<N extends keyof Namespace = keyof Namespace> = NamespaceDB<Namespace, N>;
|
|
193
|
+
|
|
194
|
+
export type Transaction<K extends keyof Namespace | DB = keyof Namespace> =
|
|
195
|
+
NamespaceTransaction<Namespace, K>;
|
|
196
|
+
|
|
197
|
+
type TableName = NamespaceTableName<Namespace>;
|
|
198
|
+
export type Table<T extends TableName> = NamespaceTable<Namespace, T>;
|
|
199
|
+
|
|
200
|
+
export type Insertable<T extends TableName> = NamespaceInsertable<Namespace, T>;
|
|
201
|
+
export type Selectable<T extends TableName> = NamespaceSelectable<Namespace, T>;
|
|
202
|
+
export type Updateable<T extends TableName> = NamespaceUpdateable<Namespace, T>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// Stub types for cross-module dependencies — used only for codegen.
|
|
2
|
+
// At runtime, actual types are injected via defineModule() params.
|
|
3
|
+
import {
|
|
4
|
+
db,
|
|
5
|
+
unsafeAllowAllGqlPermission,
|
|
6
|
+
unsafeAllowAllTypePermission,
|
|
7
|
+
} from "@tailor-platform/sdk";
|
|
8
|
+
|
|
9
|
+
export const company = db
|
|
10
|
+
.type("Company", {
|
|
11
|
+
status: db.string({ optional: true }),
|
|
12
|
+
})
|
|
13
|
+
.permission(unsafeAllowAllTypePermission)
|
|
14
|
+
.gqlPermission(unsafeAllowAllGqlPermission);
|
|
15
|
+
|
|
16
|
+
export const account = db
|
|
17
|
+
.type("Account", {
|
|
18
|
+
code: db.string({ optional: true }),
|
|
19
|
+
name: db.string({ optional: true }),
|
|
20
|
+
classification: db.string({ optional: true }),
|
|
21
|
+
status: db.string({ optional: true }),
|
|
22
|
+
successorAccountId: db.uuid({ optional: true }),
|
|
23
|
+
})
|
|
24
|
+
.permission(unsafeAllowAllTypePermission)
|
|
25
|
+
.gqlPermission(unsafeAllowAllGqlPermission);
|
|
26
|
+
|
|
27
|
+
export const accountGroup = db
|
|
28
|
+
.type("AccountGroup", {
|
|
29
|
+
name: db.string({ optional: true }),
|
|
30
|
+
code: db.string({ optional: true }),
|
|
31
|
+
})
|
|
32
|
+
.permission(unsafeAllowAllTypePermission)
|
|
33
|
+
.gqlPermission(unsafeAllowAllGqlPermission);
|
|
34
|
+
|
|
35
|
+
export const chartOfAccounts = db
|
|
36
|
+
.type(["ChartOfAccounts", "ChartsOfAccounts"], {
|
|
37
|
+
companyId: db.uuid({ optional: true }),
|
|
38
|
+
status: db.string({ optional: true }),
|
|
39
|
+
})
|
|
40
|
+
.permission(unsafeAllowAllTypePermission)
|
|
41
|
+
.gqlPermission(unsafeAllowAllGqlPermission);
|
|
42
|
+
|
|
43
|
+
export const currency = db
|
|
44
|
+
.type("Currency", {
|
|
45
|
+
code: db.string({ optional: true }),
|
|
46
|
+
isActive: db.bool({ optional: true }),
|
|
47
|
+
})
|
|
48
|
+
.permission(unsafeAllowAllTypePermission)
|
|
49
|
+
.gqlPermission(unsafeAllowAllGqlPermission);
|
|
50
|
+
|
|
51
|
+
export const user = db
|
|
52
|
+
.type("User", {
|
|
53
|
+
status: db.string({ optional: true }),
|
|
54
|
+
})
|
|
55
|
+
.permission(unsafeAllowAllTypePermission)
|
|
56
|
+
.gqlPermission(unsafeAllowAllGqlPermission);
|