@accounter/shaam-uniform-format-generator 0.1.0 → 0.1.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.
- package/README.md +366 -13
- package/dist/README.md +476 -0
- package/dist/cjs/api/generate-report-legacy.js +6 -0
- package/dist/cjs/api/generate-report.js +328 -0
- package/dist/cjs/constants.js +11 -0
- package/dist/cjs/generator/format/encoder.js +86 -0
- package/dist/cjs/generator/records/a000-sum.js +66 -0
- package/dist/cjs/generator/records/a000.js +349 -0
- package/dist/cjs/generator/records/a100.js +107 -0
- package/dist/cjs/generator/records/b100.js +305 -0
- package/dist/cjs/generator/records/b110.js +255 -0
- package/dist/cjs/generator/records/c100.js +338 -0
- package/dist/cjs/generator/records/d110.js +272 -0
- package/dist/cjs/generator/records/d120.js +278 -0
- package/{cjs → dist/cjs}/generator/records/index.js +1 -0
- package/dist/cjs/generator/records/m100.js +177 -0
- package/dist/cjs/generator/records/z900.js +93 -0
- package/{cjs → dist/cjs}/index.js +3 -0
- package/dist/cjs/records/a100.js +78 -0
- package/dist/cjs/records/index.js +20 -0
- package/dist/cjs/records/z900.js +82 -0
- package/dist/cjs/types/enums.js +457 -0
- package/{cjs → dist/cjs}/types/index.js +6 -1
- package/dist/cjs/utils/file-helpers.js +198 -0
- package/dist/cjs/utils/index.js +8 -0
- package/dist/cjs/utils/key-generator.js +71 -0
- package/dist/esm/api/generate-report-legacy.js +2 -0
- package/dist/esm/api/generate-report.js +325 -0
- package/dist/esm/constants.js +8 -0
- package/dist/esm/generator/format/encoder.js +77 -0
- package/dist/esm/generator/records/a000-sum.js +61 -0
- package/dist/esm/generator/records/a000.js +344 -0
- package/dist/esm/generator/records/a100.js +102 -0
- package/dist/esm/generator/records/b100.js +300 -0
- package/dist/esm/generator/records/b110.js +250 -0
- package/dist/esm/generator/records/c100.js +333 -0
- package/dist/esm/generator/records/d110.js +267 -0
- package/dist/esm/generator/records/d120.js +273 -0
- package/{esm → dist/esm}/generator/records/index.js +1 -0
- package/dist/esm/generator/records/m100.js +172 -0
- package/dist/esm/generator/records/z900.js +88 -0
- package/{esm → dist/esm}/index.js +3 -0
- package/dist/esm/records/a100.js +73 -0
- package/dist/esm/records/index.js +11 -0
- package/dist/esm/records/z900.js +77 -0
- package/dist/esm/types/enums.js +454 -0
- package/{esm → dist/esm}/types/index.js +5 -1
- package/dist/esm/utils/file-helpers.js +188 -0
- package/dist/esm/utils/index.js +5 -0
- package/dist/esm/utils/key-generator.js +65 -0
- package/dist/package.json +54 -0
- package/dist/typings/api/generate-report-legacy.d.cts +1 -0
- package/dist/typings/api/generate-report-legacy.d.ts +1 -0
- package/dist/typings/constants.d.cts +8 -0
- package/dist/typings/constants.d.ts +8 -0
- package/dist/typings/generator/format/encoder.d.cts +57 -0
- package/dist/typings/generator/format/encoder.d.ts +57 -0
- package/dist/typings/generator/records/a000-sum.d.cts +40 -0
- package/dist/typings/generator/records/a000-sum.d.ts +40 -0
- package/dist/typings/generator/records/a000.d.cts +238 -0
- package/dist/typings/generator/records/a000.d.ts +238 -0
- package/dist/typings/generator/records/a100.d.cts +59 -0
- package/dist/typings/generator/records/a100.d.ts +59 -0
- package/dist/typings/generator/records/b100.d.cts +101 -0
- package/dist/typings/generator/records/b100.d.ts +101 -0
- package/dist/typings/generator/records/b110.d.cts +89 -0
- package/dist/typings/generator/records/b110.d.ts +89 -0
- package/dist/typings/generator/records/c100.d.cts +133 -0
- package/dist/typings/generator/records/c100.d.ts +133 -0
- package/dist/typings/generator/records/d110.d.cts +98 -0
- package/dist/typings/generator/records/d110.d.ts +98 -0
- package/dist/typings/generator/records/d120.d.cts +95 -0
- package/dist/typings/generator/records/d120.d.ts +95 -0
- package/{typings → dist/typings}/generator/records/index.d.cts +1 -0
- package/{typings → dist/typings}/generator/records/index.d.ts +1 -0
- package/dist/typings/generator/records/m100.d.cts +69 -0
- package/dist/typings/generator/records/m100.d.ts +69 -0
- package/dist/typings/generator/records/z900.d.cts +61 -0
- package/dist/typings/generator/records/z900.d.ts +61 -0
- package/{typings → dist/typings}/index.d.cts +3 -0
- package/{typings → dist/typings}/index.d.ts +3 -0
- package/dist/typings/records/a100.d.cts +35 -0
- package/dist/typings/records/a100.d.ts +35 -0
- package/dist/typings/records/index.d.cts +2 -0
- package/dist/typings/records/index.d.ts +2 -0
- package/dist/typings/records/z900.d.cts +38 -0
- package/dist/typings/records/z900.d.ts +38 -0
- package/dist/typings/types/enums.d.cts +162 -0
- package/dist/typings/types/enums.d.ts +162 -0
- package/{typings → dist/typings}/types/index.d.cts +17 -14
- package/{typings → dist/typings}/types/index.d.ts +17 -14
- package/dist/typings/utils/file-helpers.d.cts +131 -0
- package/dist/typings/utils/file-helpers.d.ts +131 -0
- package/dist/typings/utils/index.d.cts +5 -0
- package/dist/typings/utils/index.d.ts +5 -0
- package/dist/typings/utils/key-generator.d.cts +41 -0
- package/dist/typings/utils/key-generator.d.ts +41 -0
- package/documentation/IncomeTax_IncomeTaxSoftwareHousesInfo_horaot1.31_2_05.pdf +0 -0
- package/documentation/_4D6963726F736F667420576F7264202D20F8E5E0E9ED20F8E7E5F720F8E5E0E9ED20F9F7E5F32E646F63_.pdf +0 -0
- package/documentation/a000-sum.csv +3 -0
- package/documentation/a000.csv +37 -0
- package/documentation/a100.csv +7 -0
- package/documentation/b100.csv +29 -0
- package/documentation/b110.csv +26 -0
- package/documentation/c100.csv +37 -0
- package/documentation/d110.csv +27 -0
- package/documentation/d120.csv +26 -0
- package/documentation/m100.csv +17 -0
- package/documentation/z900.csv +8 -0
- package/package.json +50 -29
- package/prompt_plan.md +259 -0
- package/spec.md +206 -0
- package/src/api/generate-report.ts +366 -0
- package/src/api/parse-files.ts +33 -0
- package/src/constants.ts +9 -0
- package/src/format/index.ts +6 -0
- package/src/format/newline.ts +8 -0
- package/src/format/padding.ts +39 -0
- package/src/generator/format/decoder.ts +15 -0
- package/src/generator/format/encoder.ts +95 -0
- package/src/generator/format/index.ts +6 -0
- package/src/generator/index.ts +6 -0
- package/src/generator/records/a000-sum.ts +78 -0
- package/src/generator/records/a000.ts +373 -0
- package/src/generator/records/a100.ts +118 -0
- package/src/generator/records/b100.ts +317 -0
- package/src/generator/records/b110.ts +267 -0
- package/src/generator/records/c100.ts +347 -0
- package/src/generator/records/d110.ts +286 -0
- package/src/generator/records/d120.ts +293 -0
- package/src/generator/records/index.ts +14 -0
- package/src/generator/records/m100.ts +185 -0
- package/src/generator/records/z900.ts +104 -0
- package/src/index.ts +18 -0
- package/src/parser/data-parser.ts +14 -0
- package/src/parser/index.ts +6 -0
- package/src/parser/ini-parser.ts +14 -0
- package/src/types/enums.ts +531 -0
- package/src/types/index.ts +110 -0
- package/src/utils/file-helpers.ts +221 -0
- package/src/utils/index.ts +6 -0
- package/src/utils/key-generator.ts +75 -0
- package/src/validation/errors.ts +35 -0
- package/src/validation/index.ts +6 -0
- package/src/validation/validate-input.ts +67 -0
- package/tests/debug-output.test.ts +81 -0
- package/tests/format/crlf-join.test.ts +124 -0
- package/tests/format/encoder.test.ts +80 -0
- package/tests/format/newline.test.ts +19 -0
- package/tests/format/padding.test.ts +74 -0
- package/tests/index.test.ts +29 -0
- package/tests/ini-text.test.ts +122 -0
- package/tests/integration/comprehensive.integration.test.ts +350 -0
- package/tests/integration/roundtrip.integration.test.ts +377 -0
- package/tests/records/a000-sum.test.ts +278 -0
- package/tests/records/a000.test.ts +318 -0
- package/tests/records/a100.test.ts +239 -0
- package/tests/records/b100.test.ts +419 -0
- package/tests/records/b110.test.ts +445 -0
- package/tests/records/c100.test.ts +333 -0
- package/tests/records/d110.test.ts +93 -0
- package/tests/records/d120.test.ts +275 -0
- package/tests/records/m100.test.ts +437 -0
- package/tests/records/z900.test.ts +254 -0
- package/tests/types/enums.test.ts +290 -0
- package/tests/utils/file-helpers.test.ts +276 -0
- package/tests/utils/key-generator.test.ts +121 -0
- package/tests/validation/document-type-validation.test.ts +521 -0
- package/tests/validation/validate-input.test.ts +219 -0
- package/todo.md +203 -0
- package/tsconfig.json +10 -0
- package/vitest.config.ts +11 -0
- package/cjs/api/generate-report.js +0 -53
- package/cjs/generator/format/encoder.js +0 -46
- package/cjs/generator/records/a000.js +0 -8
- package/cjs/generator/records/a100.js +0 -8
- package/cjs/generator/records/b100.js +0 -8
- package/cjs/generator/records/b110.js +0 -8
- package/cjs/generator/records/c100.js +0 -8
- package/cjs/generator/records/d110.js +0 -8
- package/cjs/generator/records/d120.js +0 -8
- package/cjs/generator/records/m100.js +0 -8
- package/cjs/generator/records/z900.js +0 -8
- package/esm/api/generate-report.js +0 -50
- package/esm/generator/format/encoder.js +0 -42
- package/esm/generator/records/a000.js +0 -5
- package/esm/generator/records/a100.js +0 -5
- package/esm/generator/records/b100.js +0 -5
- package/esm/generator/records/b110.js +0 -5
- package/esm/generator/records/c100.js +0 -5
- package/esm/generator/records/d110.js +0 -5
- package/esm/generator/records/d120.js +0 -5
- package/esm/generator/records/m100.js +0 -5
- package/esm/generator/records/z900.js +0 -5
- package/typings/generator/format/encoder.d.cts +0 -33
- package/typings/generator/format/encoder.d.ts +0 -33
- package/typings/generator/records/a000.d.cts +0 -4
- package/typings/generator/records/a000.d.ts +0 -4
- package/typings/generator/records/a100.d.cts +0 -4
- package/typings/generator/records/a100.d.ts +0 -4
- package/typings/generator/records/b100.d.cts +0 -4
- package/typings/generator/records/b100.d.ts +0 -4
- package/typings/generator/records/b110.d.cts +0 -4
- package/typings/generator/records/b110.d.ts +0 -4
- package/typings/generator/records/c100.d.cts +0 -4
- package/typings/generator/records/c100.d.ts +0 -4
- package/typings/generator/records/d110.d.cts +0 -4
- package/typings/generator/records/d110.d.ts +0 -4
- package/typings/generator/records/d120.d.cts +0 -4
- package/typings/generator/records/d120.d.ts +0 -4
- package/typings/generator/records/m100.d.cts +0 -4
- package/typings/generator/records/m100.d.ts +0 -4
- package/typings/generator/records/z900.d.cts +0 -4
- package/typings/generator/records/z900.d.ts +0 -4
- /package/{cjs → dist/cjs}/api/parse-files.js +0 -0
- /package/{cjs → dist/cjs}/format/index.js +0 -0
- /package/{cjs → dist/cjs}/format/newline.js +0 -0
- /package/{cjs → dist/cjs}/format/padding.js +0 -0
- /package/{cjs → dist/cjs}/generator/format/decoder.js +0 -0
- /package/{cjs → dist/cjs}/generator/format/index.js +0 -0
- /package/{cjs → dist/cjs}/generator/index.js +0 -0
- /package/{cjs → dist/cjs}/package.json +0 -0
- /package/{cjs → dist/cjs}/parser/data-parser.js +0 -0
- /package/{cjs → dist/cjs}/parser/index.js +0 -0
- /package/{cjs → dist/cjs}/parser/ini-parser.js +0 -0
- /package/{cjs → dist/cjs}/validation/errors.js +0 -0
- /package/{cjs → dist/cjs}/validation/index.js +0 -0
- /package/{cjs → dist/cjs}/validation/validate-input.js +0 -0
- /package/{esm → dist/esm}/api/parse-files.js +0 -0
- /package/{esm → dist/esm}/format/index.js +0 -0
- /package/{esm → dist/esm}/format/newline.js +0 -0
- /package/{esm → dist/esm}/format/padding.js +0 -0
- /package/{esm → dist/esm}/generator/format/decoder.js +0 -0
- /package/{esm → dist/esm}/generator/format/index.js +0 -0
- /package/{esm → dist/esm}/generator/index.js +0 -0
- /package/{esm → dist/esm}/parser/data-parser.js +0 -0
- /package/{esm → dist/esm}/parser/index.js +0 -0
- /package/{esm → dist/esm}/parser/ini-parser.js +0 -0
- /package/{esm → dist/esm}/validation/errors.js +0 -0
- /package/{esm → dist/esm}/validation/index.js +0 -0
- /package/{esm → dist/esm}/validation/validate-input.js +0 -0
- /package/{typings → dist/typings}/api/generate-report.d.cts +0 -0
- /package/{typings → dist/typings}/api/generate-report.d.ts +0 -0
- /package/{typings → dist/typings}/api/parse-files.d.cts +0 -0
- /package/{typings → dist/typings}/api/parse-files.d.ts +0 -0
- /package/{typings → dist/typings}/format/index.d.cts +0 -0
- /package/{typings → dist/typings}/format/index.d.ts +0 -0
- /package/{typings → dist/typings}/format/newline.d.cts +0 -0
- /package/{typings → dist/typings}/format/newline.d.ts +0 -0
- /package/{typings → dist/typings}/format/padding.d.cts +0 -0
- /package/{typings → dist/typings}/format/padding.d.ts +0 -0
- /package/{typings → dist/typings}/generator/format/decoder.d.cts +0 -0
- /package/{typings → dist/typings}/generator/format/decoder.d.ts +0 -0
- /package/{typings → dist/typings}/generator/format/index.d.cts +0 -0
- /package/{typings → dist/typings}/generator/format/index.d.ts +0 -0
- /package/{typings → dist/typings}/generator/index.d.cts +0 -0
- /package/{typings → dist/typings}/generator/index.d.ts +0 -0
- /package/{typings → dist/typings}/parser/data-parser.d.cts +0 -0
- /package/{typings → dist/typings}/parser/data-parser.d.ts +0 -0
- /package/{typings → dist/typings}/parser/index.d.cts +0 -0
- /package/{typings → dist/typings}/parser/index.d.ts +0 -0
- /package/{typings → dist/typings}/parser/ini-parser.d.cts +0 -0
- /package/{typings → dist/typings}/parser/ini-parser.d.ts +0 -0
- /package/{typings → dist/typings}/validation/errors.d.cts +0 -0
- /package/{typings → dist/typings}/validation/errors.d.ts +0 -0
- /package/{typings → dist/typings}/validation/index.d.cts +0 -0
- /package/{typings → dist/typings}/validation/index.d.ts +0 -0
- /package/{typings → dist/typings}/validation/validate-input.d.cts +0 -0
- /package/{typings → dist/typings}/validation/validate-input.d.ts +0 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* D110 Record Schema - Document Line record
|
|
4
|
+
* Fields 1250-1275 based on SHAAM 1.31 specification table
|
|
5
|
+
*/
|
|
6
|
+
export declare const D110Schema: z.ZodObject<{
|
|
7
|
+
code: z.ZodLiteral<"D110">;
|
|
8
|
+
recordNumber: z.ZodString;
|
|
9
|
+
vatId: z.ZodString;
|
|
10
|
+
documentType: z.ZodEnum<["100", "200", "210", "300", "305", "320", "325", "330", "340", "400", "410", "420", "430", "500", "600", "700", "710"]>;
|
|
11
|
+
documentNumber: z.ZodString;
|
|
12
|
+
lineNumber: z.ZodString;
|
|
13
|
+
baseDocumentType: z.ZodEffects<z.ZodDefault<z.ZodString>, "100" | "200" | "210" | "300" | "305" | "320" | "325" | "330" | "340" | "400" | "410" | "420" | "430" | "500" | "600" | "700" | "710" | "", string | undefined>;
|
|
14
|
+
baseDocumentNumber: z.ZodDefault<z.ZodString>;
|
|
15
|
+
transactionType: z.ZodDefault<z.ZodString>;
|
|
16
|
+
internalCatalogCode: z.ZodDefault<z.ZodString>;
|
|
17
|
+
goodsServiceDescription: z.ZodString;
|
|
18
|
+
manufacturerName: z.ZodDefault<z.ZodString>;
|
|
19
|
+
serialNumber: z.ZodDefault<z.ZodString>;
|
|
20
|
+
unitOfMeasureDescription: z.ZodDefault<z.ZodString>;
|
|
21
|
+
quantity: z.ZodString;
|
|
22
|
+
unitPriceExcludingVat: z.ZodDefault<z.ZodString>;
|
|
23
|
+
lineDiscount: z.ZodDefault<z.ZodString>;
|
|
24
|
+
lineTotal: z.ZodDefault<z.ZodString>;
|
|
25
|
+
vatRatePercent: z.ZodDefault<z.ZodString>;
|
|
26
|
+
reserved1: z.ZodDefault<z.ZodString>;
|
|
27
|
+
branchId: z.ZodString;
|
|
28
|
+
reserved2: z.ZodDefault<z.ZodString>;
|
|
29
|
+
documentDate: z.ZodString;
|
|
30
|
+
headerLinkField: z.ZodDefault<z.ZodString>;
|
|
31
|
+
baseDocumentBranchId: z.ZodDefault<z.ZodString>;
|
|
32
|
+
reserved3: z.ZodDefault<z.ZodString>;
|
|
33
|
+
}, "strip", z.ZodTypeAny, {
|
|
34
|
+
code: "D110";
|
|
35
|
+
quantity: string;
|
|
36
|
+
vatId: string;
|
|
37
|
+
recordNumber: string;
|
|
38
|
+
transactionType: string;
|
|
39
|
+
branchId: string;
|
|
40
|
+
documentType: "100" | "200" | "210" | "300" | "305" | "320" | "325" | "330" | "340" | "400" | "410" | "420" | "430" | "500" | "600" | "700" | "710";
|
|
41
|
+
documentDate: string;
|
|
42
|
+
documentNumber: string;
|
|
43
|
+
lineNumber: string;
|
|
44
|
+
baseDocumentType: "" | "100" | "200" | "210" | "300" | "305" | "320" | "325" | "330" | "340" | "400" | "410" | "420" | "430" | "500" | "600" | "700" | "710";
|
|
45
|
+
baseDocumentNumber: string;
|
|
46
|
+
internalCatalogCode: string;
|
|
47
|
+
goodsServiceDescription: string;
|
|
48
|
+
manufacturerName: string;
|
|
49
|
+
serialNumber: string;
|
|
50
|
+
unitOfMeasureDescription: string;
|
|
51
|
+
unitPriceExcludingVat: string;
|
|
52
|
+
lineDiscount: string;
|
|
53
|
+
lineTotal: string;
|
|
54
|
+
vatRatePercent: string;
|
|
55
|
+
reserved1: string;
|
|
56
|
+
reserved2: string;
|
|
57
|
+
headerLinkField: string;
|
|
58
|
+
baseDocumentBranchId: string;
|
|
59
|
+
reserved3: string;
|
|
60
|
+
}, {
|
|
61
|
+
code: "D110";
|
|
62
|
+
quantity: string;
|
|
63
|
+
vatId: string;
|
|
64
|
+
recordNumber: string;
|
|
65
|
+
branchId: string;
|
|
66
|
+
documentType: "100" | "200" | "210" | "300" | "305" | "320" | "325" | "330" | "340" | "400" | "410" | "420" | "430" | "500" | "600" | "700" | "710";
|
|
67
|
+
documentDate: string;
|
|
68
|
+
documentNumber: string;
|
|
69
|
+
lineNumber: string;
|
|
70
|
+
goodsServiceDescription: string;
|
|
71
|
+
transactionType?: string | undefined;
|
|
72
|
+
baseDocumentType?: string | undefined;
|
|
73
|
+
baseDocumentNumber?: string | undefined;
|
|
74
|
+
internalCatalogCode?: string | undefined;
|
|
75
|
+
manufacturerName?: string | undefined;
|
|
76
|
+
serialNumber?: string | undefined;
|
|
77
|
+
unitOfMeasureDescription?: string | undefined;
|
|
78
|
+
unitPriceExcludingVat?: string | undefined;
|
|
79
|
+
lineDiscount?: string | undefined;
|
|
80
|
+
lineTotal?: string | undefined;
|
|
81
|
+
vatRatePercent?: string | undefined;
|
|
82
|
+
reserved1?: string | undefined;
|
|
83
|
+
reserved2?: string | undefined;
|
|
84
|
+
headerLinkField?: string | undefined;
|
|
85
|
+
baseDocumentBranchId?: string | undefined;
|
|
86
|
+
reserved3?: string | undefined;
|
|
87
|
+
}>;
|
|
88
|
+
export type D110 = z.infer<typeof D110Schema>;
|
|
89
|
+
/**
|
|
90
|
+
* Encodes a D110 record to fixed-width string format
|
|
91
|
+
* Total line width: 339 characters + CRLF
|
|
92
|
+
*/
|
|
93
|
+
export declare function encodeD110(input: D110): string;
|
|
94
|
+
/**
|
|
95
|
+
* Parses a fixed-width D110 record line back to object
|
|
96
|
+
* Expected line length: 339 characters (excluding CRLF)
|
|
97
|
+
*/
|
|
98
|
+
export declare function parseD110(line: string): D110;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* D120 - Payment/receipt record
|
|
4
|
+
* Fields 1300-1324 based on SHAAM 1.31 specification
|
|
5
|
+
*/
|
|
6
|
+
export declare const D120Schema: z.ZodObject<{
|
|
7
|
+
code: z.ZodLiteral<"D120">;
|
|
8
|
+
recordNumber: z.ZodString;
|
|
9
|
+
vatId: z.ZodString;
|
|
10
|
+
documentType: z.ZodEnum<["100", "200", "210", "300", "305", "320", "325", "330", "340", "400", "410", "420", "430", "500", "600", "700", "710"]>;
|
|
11
|
+
documentNumber: z.ZodString;
|
|
12
|
+
lineNumber: z.ZodString;
|
|
13
|
+
paymentMethod: z.ZodString;
|
|
14
|
+
bankNumber: z.ZodDefault<z.ZodString>;
|
|
15
|
+
branchNumber: z.ZodDefault<z.ZodString>;
|
|
16
|
+
accountNumber: z.ZodDefault<z.ZodString>;
|
|
17
|
+
checkNumber: z.ZodDefault<z.ZodString>;
|
|
18
|
+
paymentDueDate: z.ZodDefault<z.ZodString>;
|
|
19
|
+
lineAmount: z.ZodString;
|
|
20
|
+
acquirerCode: z.ZodDefault<z.ZodString>;
|
|
21
|
+
cardBrand: z.ZodDefault<z.ZodString>;
|
|
22
|
+
creditTransactionType: z.ZodDefault<z.ZodString>;
|
|
23
|
+
firstPaymentAmount: z.ZodDefault<z.ZodString>;
|
|
24
|
+
installmentsCount: z.ZodDefault<z.ZodString>;
|
|
25
|
+
additionalPaymentAmount: z.ZodDefault<z.ZodString>;
|
|
26
|
+
reserved1: z.ZodDefault<z.ZodString>;
|
|
27
|
+
branchId: z.ZodDefault<z.ZodString>;
|
|
28
|
+
reserved2: z.ZodDefault<z.ZodString>;
|
|
29
|
+
documentDate: z.ZodString;
|
|
30
|
+
headerLinkField: z.ZodDefault<z.ZodString>;
|
|
31
|
+
reserved: z.ZodDefault<z.ZodString>;
|
|
32
|
+
}, "strip", z.ZodTypeAny, {
|
|
33
|
+
code: "D120";
|
|
34
|
+
vatId: string;
|
|
35
|
+
recordNumber: string;
|
|
36
|
+
reserved: string;
|
|
37
|
+
branchId: string;
|
|
38
|
+
documentType: "100" | "200" | "210" | "300" | "305" | "320" | "325" | "330" | "340" | "400" | "410" | "420" | "430" | "500" | "600" | "700" | "710";
|
|
39
|
+
documentDate: string;
|
|
40
|
+
documentNumber: string;
|
|
41
|
+
lineNumber: string;
|
|
42
|
+
reserved1: string;
|
|
43
|
+
reserved2: string;
|
|
44
|
+
headerLinkField: string;
|
|
45
|
+
paymentMethod: string;
|
|
46
|
+
bankNumber: string;
|
|
47
|
+
branchNumber: string;
|
|
48
|
+
accountNumber: string;
|
|
49
|
+
checkNumber: string;
|
|
50
|
+
paymentDueDate: string;
|
|
51
|
+
lineAmount: string;
|
|
52
|
+
acquirerCode: string;
|
|
53
|
+
cardBrand: string;
|
|
54
|
+
creditTransactionType: string;
|
|
55
|
+
firstPaymentAmount: string;
|
|
56
|
+
installmentsCount: string;
|
|
57
|
+
additionalPaymentAmount: string;
|
|
58
|
+
}, {
|
|
59
|
+
code: "D120";
|
|
60
|
+
vatId: string;
|
|
61
|
+
recordNumber: string;
|
|
62
|
+
documentType: "100" | "200" | "210" | "300" | "305" | "320" | "325" | "330" | "340" | "400" | "410" | "420" | "430" | "500" | "600" | "700" | "710";
|
|
63
|
+
documentDate: string;
|
|
64
|
+
documentNumber: string;
|
|
65
|
+
lineNumber: string;
|
|
66
|
+
paymentMethod: string;
|
|
67
|
+
lineAmount: string;
|
|
68
|
+
reserved?: string | undefined;
|
|
69
|
+
branchId?: string | undefined;
|
|
70
|
+
reserved1?: string | undefined;
|
|
71
|
+
reserved2?: string | undefined;
|
|
72
|
+
headerLinkField?: string | undefined;
|
|
73
|
+
bankNumber?: string | undefined;
|
|
74
|
+
branchNumber?: string | undefined;
|
|
75
|
+
accountNumber?: string | undefined;
|
|
76
|
+
checkNumber?: string | undefined;
|
|
77
|
+
paymentDueDate?: string | undefined;
|
|
78
|
+
acquirerCode?: string | undefined;
|
|
79
|
+
cardBrand?: string | undefined;
|
|
80
|
+
creditTransactionType?: string | undefined;
|
|
81
|
+
firstPaymentAmount?: string | undefined;
|
|
82
|
+
installmentsCount?: string | undefined;
|
|
83
|
+
additionalPaymentAmount?: string | undefined;
|
|
84
|
+
}>;
|
|
85
|
+
export type D120 = z.infer<typeof D120Schema>;
|
|
86
|
+
/**
|
|
87
|
+
* Encodes a D120 record to fixed-width string format
|
|
88
|
+
* Total line width: 222 characters + CRLF (4+9+9+3+20+4+1+10+10+15+10+8+15+1+20+1+0+0+0+0+7+0+8+7+60)
|
|
89
|
+
*/
|
|
90
|
+
export declare function encodeD120(input: D120): string;
|
|
91
|
+
/**
|
|
92
|
+
* Parses a fixed-width D120 record line back to object
|
|
93
|
+
* Expected line length: 222 characters (excluding CRLF)
|
|
94
|
+
*/
|
|
95
|
+
export declare function parseD120(line: string): D120;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* D120 - Payment/receipt record
|
|
4
|
+
* Fields 1300-1324 based on SHAAM 1.31 specification
|
|
5
|
+
*/
|
|
6
|
+
export declare const D120Schema: z.ZodObject<{
|
|
7
|
+
code: z.ZodLiteral<"D120">;
|
|
8
|
+
recordNumber: z.ZodString;
|
|
9
|
+
vatId: z.ZodString;
|
|
10
|
+
documentType: z.ZodEnum<["100", "200", "210", "300", "305", "320", "325", "330", "340", "400", "410", "420", "430", "500", "600", "700", "710"]>;
|
|
11
|
+
documentNumber: z.ZodString;
|
|
12
|
+
lineNumber: z.ZodString;
|
|
13
|
+
paymentMethod: z.ZodString;
|
|
14
|
+
bankNumber: z.ZodDefault<z.ZodString>;
|
|
15
|
+
branchNumber: z.ZodDefault<z.ZodString>;
|
|
16
|
+
accountNumber: z.ZodDefault<z.ZodString>;
|
|
17
|
+
checkNumber: z.ZodDefault<z.ZodString>;
|
|
18
|
+
paymentDueDate: z.ZodDefault<z.ZodString>;
|
|
19
|
+
lineAmount: z.ZodString;
|
|
20
|
+
acquirerCode: z.ZodDefault<z.ZodString>;
|
|
21
|
+
cardBrand: z.ZodDefault<z.ZodString>;
|
|
22
|
+
creditTransactionType: z.ZodDefault<z.ZodString>;
|
|
23
|
+
firstPaymentAmount: z.ZodDefault<z.ZodString>;
|
|
24
|
+
installmentsCount: z.ZodDefault<z.ZodString>;
|
|
25
|
+
additionalPaymentAmount: z.ZodDefault<z.ZodString>;
|
|
26
|
+
reserved1: z.ZodDefault<z.ZodString>;
|
|
27
|
+
branchId: z.ZodDefault<z.ZodString>;
|
|
28
|
+
reserved2: z.ZodDefault<z.ZodString>;
|
|
29
|
+
documentDate: z.ZodString;
|
|
30
|
+
headerLinkField: z.ZodDefault<z.ZodString>;
|
|
31
|
+
reserved: z.ZodDefault<z.ZodString>;
|
|
32
|
+
}, "strip", z.ZodTypeAny, {
|
|
33
|
+
code: "D120";
|
|
34
|
+
vatId: string;
|
|
35
|
+
recordNumber: string;
|
|
36
|
+
reserved: string;
|
|
37
|
+
branchId: string;
|
|
38
|
+
documentType: "100" | "200" | "210" | "300" | "305" | "320" | "325" | "330" | "340" | "400" | "410" | "420" | "430" | "500" | "600" | "700" | "710";
|
|
39
|
+
documentDate: string;
|
|
40
|
+
documentNumber: string;
|
|
41
|
+
lineNumber: string;
|
|
42
|
+
reserved1: string;
|
|
43
|
+
reserved2: string;
|
|
44
|
+
headerLinkField: string;
|
|
45
|
+
paymentMethod: string;
|
|
46
|
+
bankNumber: string;
|
|
47
|
+
branchNumber: string;
|
|
48
|
+
accountNumber: string;
|
|
49
|
+
checkNumber: string;
|
|
50
|
+
paymentDueDate: string;
|
|
51
|
+
lineAmount: string;
|
|
52
|
+
acquirerCode: string;
|
|
53
|
+
cardBrand: string;
|
|
54
|
+
creditTransactionType: string;
|
|
55
|
+
firstPaymentAmount: string;
|
|
56
|
+
installmentsCount: string;
|
|
57
|
+
additionalPaymentAmount: string;
|
|
58
|
+
}, {
|
|
59
|
+
code: "D120";
|
|
60
|
+
vatId: string;
|
|
61
|
+
recordNumber: string;
|
|
62
|
+
documentType: "100" | "200" | "210" | "300" | "305" | "320" | "325" | "330" | "340" | "400" | "410" | "420" | "430" | "500" | "600" | "700" | "710";
|
|
63
|
+
documentDate: string;
|
|
64
|
+
documentNumber: string;
|
|
65
|
+
lineNumber: string;
|
|
66
|
+
paymentMethod: string;
|
|
67
|
+
lineAmount: string;
|
|
68
|
+
reserved?: string | undefined;
|
|
69
|
+
branchId?: string | undefined;
|
|
70
|
+
reserved1?: string | undefined;
|
|
71
|
+
reserved2?: string | undefined;
|
|
72
|
+
headerLinkField?: string | undefined;
|
|
73
|
+
bankNumber?: string | undefined;
|
|
74
|
+
branchNumber?: string | undefined;
|
|
75
|
+
accountNumber?: string | undefined;
|
|
76
|
+
checkNumber?: string | undefined;
|
|
77
|
+
paymentDueDate?: string | undefined;
|
|
78
|
+
acquirerCode?: string | undefined;
|
|
79
|
+
cardBrand?: string | undefined;
|
|
80
|
+
creditTransactionType?: string | undefined;
|
|
81
|
+
firstPaymentAmount?: string | undefined;
|
|
82
|
+
installmentsCount?: string | undefined;
|
|
83
|
+
additionalPaymentAmount?: string | undefined;
|
|
84
|
+
}>;
|
|
85
|
+
export type D120 = z.infer<typeof D120Schema>;
|
|
86
|
+
/**
|
|
87
|
+
* Encodes a D120 record to fixed-width string format
|
|
88
|
+
* Total line width: 222 characters + CRLF (4+9+9+3+20+4+1+10+10+15+10+8+15+1+20+1+0+0+0+0+7+0+8+7+60)
|
|
89
|
+
*/
|
|
90
|
+
export declare function encodeD120(input: D120): string;
|
|
91
|
+
/**
|
|
92
|
+
* Parses a fixed-width D120 record line back to object
|
|
93
|
+
* Expected line length: 222 characters (excluding CRLF)
|
|
94
|
+
*/
|
|
95
|
+
export declare function parseD120(line: string): D120;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* M100 Record Schema - Item/Product record
|
|
4
|
+
* Fields 1450-1465 based on SHAAM 1.31 specification
|
|
5
|
+
* Total record length: 294 characters
|
|
6
|
+
*/
|
|
7
|
+
export declare const M100Schema: z.ZodObject<{
|
|
8
|
+
code: z.ZodLiteral<"M100">;
|
|
9
|
+
recordNumber: z.ZodString;
|
|
10
|
+
vatId: z.ZodString;
|
|
11
|
+
universalItemCode: z.ZodDefault<z.ZodString>;
|
|
12
|
+
supplierItemCode: z.ZodDefault<z.ZodString>;
|
|
13
|
+
internalItemCode: z.ZodString;
|
|
14
|
+
itemName: z.ZodString;
|
|
15
|
+
classificationCode: z.ZodDefault<z.ZodString>;
|
|
16
|
+
classificationDescription: z.ZodDefault<z.ZodString>;
|
|
17
|
+
unitOfMeasure: z.ZodDefault<z.ZodString>;
|
|
18
|
+
openingStock: z.ZodString;
|
|
19
|
+
totalStockIn: z.ZodString;
|
|
20
|
+
totalStockOut: z.ZodString;
|
|
21
|
+
endPeriodCostNonBonded: z.ZodDefault<z.ZodString>;
|
|
22
|
+
endPeriodCostBonded: z.ZodDefault<z.ZodString>;
|
|
23
|
+
reserved: z.ZodDefault<z.ZodString>;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
code: "M100";
|
|
26
|
+
vatId: string;
|
|
27
|
+
recordNumber: string;
|
|
28
|
+
reserved: string;
|
|
29
|
+
universalItemCode: string;
|
|
30
|
+
supplierItemCode: string;
|
|
31
|
+
internalItemCode: string;
|
|
32
|
+
itemName: string;
|
|
33
|
+
classificationCode: string;
|
|
34
|
+
classificationDescription: string;
|
|
35
|
+
unitOfMeasure: string;
|
|
36
|
+
openingStock: string;
|
|
37
|
+
totalStockIn: string;
|
|
38
|
+
totalStockOut: string;
|
|
39
|
+
endPeriodCostNonBonded: string;
|
|
40
|
+
endPeriodCostBonded: string;
|
|
41
|
+
}, {
|
|
42
|
+
code: "M100";
|
|
43
|
+
vatId: string;
|
|
44
|
+
recordNumber: string;
|
|
45
|
+
internalItemCode: string;
|
|
46
|
+
itemName: string;
|
|
47
|
+
openingStock: string;
|
|
48
|
+
totalStockIn: string;
|
|
49
|
+
totalStockOut: string;
|
|
50
|
+
reserved?: string | undefined;
|
|
51
|
+
universalItemCode?: string | undefined;
|
|
52
|
+
supplierItemCode?: string | undefined;
|
|
53
|
+
classificationCode?: string | undefined;
|
|
54
|
+
classificationDescription?: string | undefined;
|
|
55
|
+
unitOfMeasure?: string | undefined;
|
|
56
|
+
endPeriodCostNonBonded?: string | undefined;
|
|
57
|
+
endPeriodCostBonded?: string | undefined;
|
|
58
|
+
}>;
|
|
59
|
+
export type M100 = z.infer<typeof M100Schema>;
|
|
60
|
+
/**
|
|
61
|
+
* Encodes a M100 record to fixed-width string format
|
|
62
|
+
* Total line width: 294 characters + CRLF
|
|
63
|
+
*/
|
|
64
|
+
export declare function encodeM100(input: M100): string;
|
|
65
|
+
/**
|
|
66
|
+
* Parses a fixed-width M100 record line back to object
|
|
67
|
+
* Expected line length: 294 characters (excluding CRLF)
|
|
68
|
+
*/
|
|
69
|
+
export declare function parseM100(line: string): M100;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* M100 Record Schema - Item/Product record
|
|
4
|
+
* Fields 1450-1465 based on SHAAM 1.31 specification
|
|
5
|
+
* Total record length: 294 characters
|
|
6
|
+
*/
|
|
7
|
+
export declare const M100Schema: z.ZodObject<{
|
|
8
|
+
code: z.ZodLiteral<"M100">;
|
|
9
|
+
recordNumber: z.ZodString;
|
|
10
|
+
vatId: z.ZodString;
|
|
11
|
+
universalItemCode: z.ZodDefault<z.ZodString>;
|
|
12
|
+
supplierItemCode: z.ZodDefault<z.ZodString>;
|
|
13
|
+
internalItemCode: z.ZodString;
|
|
14
|
+
itemName: z.ZodString;
|
|
15
|
+
classificationCode: z.ZodDefault<z.ZodString>;
|
|
16
|
+
classificationDescription: z.ZodDefault<z.ZodString>;
|
|
17
|
+
unitOfMeasure: z.ZodDefault<z.ZodString>;
|
|
18
|
+
openingStock: z.ZodString;
|
|
19
|
+
totalStockIn: z.ZodString;
|
|
20
|
+
totalStockOut: z.ZodString;
|
|
21
|
+
endPeriodCostNonBonded: z.ZodDefault<z.ZodString>;
|
|
22
|
+
endPeriodCostBonded: z.ZodDefault<z.ZodString>;
|
|
23
|
+
reserved: z.ZodDefault<z.ZodString>;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
code: "M100";
|
|
26
|
+
vatId: string;
|
|
27
|
+
recordNumber: string;
|
|
28
|
+
reserved: string;
|
|
29
|
+
universalItemCode: string;
|
|
30
|
+
supplierItemCode: string;
|
|
31
|
+
internalItemCode: string;
|
|
32
|
+
itemName: string;
|
|
33
|
+
classificationCode: string;
|
|
34
|
+
classificationDescription: string;
|
|
35
|
+
unitOfMeasure: string;
|
|
36
|
+
openingStock: string;
|
|
37
|
+
totalStockIn: string;
|
|
38
|
+
totalStockOut: string;
|
|
39
|
+
endPeriodCostNonBonded: string;
|
|
40
|
+
endPeriodCostBonded: string;
|
|
41
|
+
}, {
|
|
42
|
+
code: "M100";
|
|
43
|
+
vatId: string;
|
|
44
|
+
recordNumber: string;
|
|
45
|
+
internalItemCode: string;
|
|
46
|
+
itemName: string;
|
|
47
|
+
openingStock: string;
|
|
48
|
+
totalStockIn: string;
|
|
49
|
+
totalStockOut: string;
|
|
50
|
+
reserved?: string | undefined;
|
|
51
|
+
universalItemCode?: string | undefined;
|
|
52
|
+
supplierItemCode?: string | undefined;
|
|
53
|
+
classificationCode?: string | undefined;
|
|
54
|
+
classificationDescription?: string | undefined;
|
|
55
|
+
unitOfMeasure?: string | undefined;
|
|
56
|
+
endPeriodCostNonBonded?: string | undefined;
|
|
57
|
+
endPeriodCostBonded?: string | undefined;
|
|
58
|
+
}>;
|
|
59
|
+
export type M100 = z.infer<typeof M100Schema>;
|
|
60
|
+
/**
|
|
61
|
+
* Encodes a M100 record to fixed-width string format
|
|
62
|
+
* Total line width: 294 characters + CRLF
|
|
63
|
+
*/
|
|
64
|
+
export declare function encodeM100(input: M100): string;
|
|
65
|
+
/**
|
|
66
|
+
* Parses a fixed-width M100 record line back to object
|
|
67
|
+
* Expected line length: 294 characters (excluding CRLF)
|
|
68
|
+
*/
|
|
69
|
+
export declare function parseM100(line: string): M100;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Z900 Record Schema - Closing record
|
|
4
|
+
* Fields 1150-1156 based on SHAAM 1.31 specification
|
|
5
|
+
*/
|
|
6
|
+
export declare const Z900Schema: z.ZodObject<{
|
|
7
|
+
code: z.ZodLiteral<"Z900">;
|
|
8
|
+
recordNumber: z.ZodString;
|
|
9
|
+
vatId: z.ZodString;
|
|
10
|
+
uniqueId: z.ZodString;
|
|
11
|
+
totalRecords: z.ZodString;
|
|
12
|
+
reserved: z.ZodDefault<z.ZodString>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
code: "Z900";
|
|
15
|
+
totalRecords: string;
|
|
16
|
+
vatId: string;
|
|
17
|
+
recordNumber: string;
|
|
18
|
+
reserved: string;
|
|
19
|
+
uniqueId: string;
|
|
20
|
+
}, {
|
|
21
|
+
code: "Z900";
|
|
22
|
+
totalRecords: string;
|
|
23
|
+
vatId: string;
|
|
24
|
+
recordNumber: string;
|
|
25
|
+
uniqueId: string;
|
|
26
|
+
reserved?: string | undefined;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Z900 Input Schema - for user input (excludes auto-generated fields)
|
|
30
|
+
* Field 1153 (uniqueId) is automatically generated to match field 1103
|
|
31
|
+
*/
|
|
32
|
+
export declare const Z900InputSchema: z.ZodObject<Omit<{
|
|
33
|
+
code: z.ZodLiteral<"Z900">;
|
|
34
|
+
recordNumber: z.ZodString;
|
|
35
|
+
vatId: z.ZodString;
|
|
36
|
+
uniqueId: z.ZodString;
|
|
37
|
+
totalRecords: z.ZodString;
|
|
38
|
+
reserved: z.ZodDefault<z.ZodString>;
|
|
39
|
+
}, "code" | "uniqueId">, "strip", z.ZodTypeAny, {
|
|
40
|
+
totalRecords: string;
|
|
41
|
+
vatId: string;
|
|
42
|
+
recordNumber: string;
|
|
43
|
+
reserved: string;
|
|
44
|
+
}, {
|
|
45
|
+
totalRecords: string;
|
|
46
|
+
vatId: string;
|
|
47
|
+
recordNumber: string;
|
|
48
|
+
reserved?: string | undefined;
|
|
49
|
+
}>;
|
|
50
|
+
export type Z900 = z.infer<typeof Z900Schema>;
|
|
51
|
+
export type Z900Input = z.infer<typeof Z900InputSchema>;
|
|
52
|
+
/**
|
|
53
|
+
* Encodes a Z900 record to fixed-width string format
|
|
54
|
+
* Total line width: 110 characters + CRLF
|
|
55
|
+
*/
|
|
56
|
+
export declare function encodeZ900(input: Z900Input): string;
|
|
57
|
+
/**
|
|
58
|
+
* Parses a fixed-width Z900 record line back to object
|
|
59
|
+
* Expected line length: 110 characters (excluding CRLF)
|
|
60
|
+
*/
|
|
61
|
+
export declare function parseZ900(line: string): Z900;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Z900 Record Schema - Closing record
|
|
4
|
+
* Fields 1150-1156 based on SHAAM 1.31 specification
|
|
5
|
+
*/
|
|
6
|
+
export declare const Z900Schema: z.ZodObject<{
|
|
7
|
+
code: z.ZodLiteral<"Z900">;
|
|
8
|
+
recordNumber: z.ZodString;
|
|
9
|
+
vatId: z.ZodString;
|
|
10
|
+
uniqueId: z.ZodString;
|
|
11
|
+
totalRecords: z.ZodString;
|
|
12
|
+
reserved: z.ZodDefault<z.ZodString>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
code: "Z900";
|
|
15
|
+
totalRecords: string;
|
|
16
|
+
vatId: string;
|
|
17
|
+
recordNumber: string;
|
|
18
|
+
reserved: string;
|
|
19
|
+
uniqueId: string;
|
|
20
|
+
}, {
|
|
21
|
+
code: "Z900";
|
|
22
|
+
totalRecords: string;
|
|
23
|
+
vatId: string;
|
|
24
|
+
recordNumber: string;
|
|
25
|
+
uniqueId: string;
|
|
26
|
+
reserved?: string | undefined;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Z900 Input Schema - for user input (excludes auto-generated fields)
|
|
30
|
+
* Field 1153 (uniqueId) is automatically generated to match field 1103
|
|
31
|
+
*/
|
|
32
|
+
export declare const Z900InputSchema: z.ZodObject<Omit<{
|
|
33
|
+
code: z.ZodLiteral<"Z900">;
|
|
34
|
+
recordNumber: z.ZodString;
|
|
35
|
+
vatId: z.ZodString;
|
|
36
|
+
uniqueId: z.ZodString;
|
|
37
|
+
totalRecords: z.ZodString;
|
|
38
|
+
reserved: z.ZodDefault<z.ZodString>;
|
|
39
|
+
}, "code" | "uniqueId">, "strip", z.ZodTypeAny, {
|
|
40
|
+
totalRecords: string;
|
|
41
|
+
vatId: string;
|
|
42
|
+
recordNumber: string;
|
|
43
|
+
reserved: string;
|
|
44
|
+
}, {
|
|
45
|
+
totalRecords: string;
|
|
46
|
+
vatId: string;
|
|
47
|
+
recordNumber: string;
|
|
48
|
+
reserved?: string | undefined;
|
|
49
|
+
}>;
|
|
50
|
+
export type Z900 = z.infer<typeof Z900Schema>;
|
|
51
|
+
export type Z900Input = z.infer<typeof Z900InputSchema>;
|
|
52
|
+
/**
|
|
53
|
+
* Encodes a Z900 record to fixed-width string format
|
|
54
|
+
* Total line width: 110 characters + CRLF
|
|
55
|
+
*/
|
|
56
|
+
export declare function encodeZ900(input: Z900Input): string;
|
|
57
|
+
/**
|
|
58
|
+
* Parses a fixed-width Z900 record line back to object
|
|
59
|
+
* Expected line length: 110 characters (excluding CRLF)
|
|
60
|
+
*/
|
|
61
|
+
export declare function parseZ900(line: string): Z900;
|
|
@@ -8,5 +8,8 @@ export * from './types/index.cjs';
|
|
|
8
8
|
export * from './generator/index.cjs';
|
|
9
9
|
export * from './parser/index.cjs';
|
|
10
10
|
export * from './validation/index.cjs';
|
|
11
|
+
export * from './generator/records/index.cjs';
|
|
12
|
+
export * from './utils/index.cjs';
|
|
13
|
+
export * from './constants.cjs';
|
|
11
14
|
export { generateUniformFormatReport } from './api/generate-report.cjs';
|
|
12
15
|
export { parseUniformFormatFiles } from './api/parse-files.cjs';
|
|
@@ -8,5 +8,8 @@ export * from './types/index.js';
|
|
|
8
8
|
export * from './generator/index.js';
|
|
9
9
|
export * from './parser/index.js';
|
|
10
10
|
export * from './validation/index.js';
|
|
11
|
+
export * from './generator/records/index.js';
|
|
12
|
+
export * from './utils/index.js';
|
|
13
|
+
export * from './constants.js';
|
|
11
14
|
export { generateUniformFormatReport } from './api/generate-report.js';
|
|
12
15
|
export { parseUniformFormatFiles } from './api/parse-files.js';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* A100 Record Schema - Business opening record
|
|
4
|
+
* Fields 1100-1105 based on SHAAM 1.31 specification
|
|
5
|
+
*/
|
|
6
|
+
export declare const A100Schema: z.ZodObject<{
|
|
7
|
+
code: z.ZodLiteral<"A100">;
|
|
8
|
+
recordNumber: z.ZodString;
|
|
9
|
+
vatId: z.ZodString;
|
|
10
|
+
uniqueId: z.ZodString;
|
|
11
|
+
reserved: z.ZodDefault<z.ZodString>;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
code: "A100";
|
|
14
|
+
recordNumber: string;
|
|
15
|
+
vatId: string;
|
|
16
|
+
uniqueId: string;
|
|
17
|
+
reserved: string;
|
|
18
|
+
}, {
|
|
19
|
+
code: "A100";
|
|
20
|
+
recordNumber: string;
|
|
21
|
+
vatId: string;
|
|
22
|
+
uniqueId: string;
|
|
23
|
+
reserved?: string | undefined;
|
|
24
|
+
}>;
|
|
25
|
+
export type A100 = z.infer<typeof A100Schema>;
|
|
26
|
+
/**
|
|
27
|
+
* Encodes an A100 record to fixed-width string format
|
|
28
|
+
* Total line width: 95 characters + CRLF
|
|
29
|
+
*/
|
|
30
|
+
export declare function encodeA100(input: A100): string;
|
|
31
|
+
/**
|
|
32
|
+
* Parses a fixed-width A100 record line back to object
|
|
33
|
+
* Expected line length: 95 characters (excluding CRLF)
|
|
34
|
+
*/
|
|
35
|
+
export declare function parseA100(line: string): A100;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* A100 Record Schema - Business opening record
|
|
4
|
+
* Fields 1100-1105 based on SHAAM 1.31 specification
|
|
5
|
+
*/
|
|
6
|
+
export declare const A100Schema: z.ZodObject<{
|
|
7
|
+
code: z.ZodLiteral<"A100">;
|
|
8
|
+
recordNumber: z.ZodString;
|
|
9
|
+
vatId: z.ZodString;
|
|
10
|
+
uniqueId: z.ZodString;
|
|
11
|
+
reserved: z.ZodDefault<z.ZodString>;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
code: "A100";
|
|
14
|
+
recordNumber: string;
|
|
15
|
+
vatId: string;
|
|
16
|
+
uniqueId: string;
|
|
17
|
+
reserved: string;
|
|
18
|
+
}, {
|
|
19
|
+
code: "A100";
|
|
20
|
+
recordNumber: string;
|
|
21
|
+
vatId: string;
|
|
22
|
+
uniqueId: string;
|
|
23
|
+
reserved?: string | undefined;
|
|
24
|
+
}>;
|
|
25
|
+
export type A100 = z.infer<typeof A100Schema>;
|
|
26
|
+
/**
|
|
27
|
+
* Encodes an A100 record to fixed-width string format
|
|
28
|
+
* Total line width: 95 characters + CRLF
|
|
29
|
+
*/
|
|
30
|
+
export declare function encodeA100(input: A100): string;
|
|
31
|
+
/**
|
|
32
|
+
* Parses a fixed-width A100 record line back to object
|
|
33
|
+
* Expected line length: 95 characters (excluding CRLF)
|
|
34
|
+
*/
|
|
35
|
+
export declare function parseA100(line: string): A100;
|