feat: add opening balance import functionality (#238)
- Implemented OpeningBalanceResultStep component to display results of the import process, including success messages and error handling. - Created OpeningBalanceUploadStep component for file upload with drag-and-drop support, including validation for accepted file types. - Developed column detection logic in column-detector.ts to identify account number, name, debit, credit, and balance columns based on headers and data. - Added parser functionality in parser.ts to handle parsing of opening balance files, including validation and BAS account matching. - Created tests for column detection and parsing logic to ensure accuracy and reliability. - Defined types for detected columns and parsed rows in types.ts to improve type safety and clarity in the codebase.
This commit is contained in:
@@ -599,3 +599,16 @@ export const SaveGapExplanationSchema = z.object({
|
||||
gap_end: z.number().int().positive(),
|
||||
explanation: z.string().min(1).max(500),
|
||||
})
|
||||
|
||||
// ============================================================
|
||||
// Opening balance import schemas
|
||||
// ============================================================
|
||||
|
||||
export const OpeningBalanceExecuteSchema = z.object({
|
||||
fiscal_period_id: uuid,
|
||||
lines: z.array(z.object({
|
||||
account_number: accountNumber,
|
||||
debit_amount: nonNegativeAmount,
|
||||
credit_amount: nonNegativeAmount,
|
||||
})).min(2, 'At least two lines are required for double-entry'),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user