@ottoai/documents 1.5.31 → 1.5.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/create/pdf/united-states/form-7004/form.dto.d.ts +27 -0
  2. package/dist/create/pdf/united-states/form-7004/form.dto.js +109 -0
  3. package/dist/create/pdf/united-states/form-7004/form.dto.js.map +1 -0
  4. package/dist/create/pdf/united-states/form-7004/index.d.ts +4 -0
  5. package/dist/create/pdf/united-states/form-7004/index.js +108 -0
  6. package/dist/create/pdf/united-states/form-7004/index.js.map +1 -0
  7. package/dist/create/pdf/united-states/form-7004/schema.json +474 -0
  8. package/dist/create/pdf/united-states/form-7004/template.pdf +0 -0
  9. package/dist/create/pdf/united-states/form-w4/form.dto.d.ts +61 -0
  10. package/dist/create/pdf/united-states/form-w4/form.dto.js +306 -0
  11. package/dist/create/pdf/united-states/form-w4/form.dto.js.map +1 -0
  12. package/dist/create/pdf/united-states/form-w4/index.d.ts +2 -0
  13. package/dist/create/pdf/united-states/form-w4/index.js +201 -0
  14. package/dist/create/pdf/united-states/form-w4/index.js.map +1 -0
  15. package/dist/create/pdf/united-states/form-w4/schema.json +1124 -0
  16. package/dist/create/pdf/united-states/form-w4/template.pdf +0 -0
  17. package/dist/create/pdf/united-states/form_7004/form.dto.d.ts +27 -0
  18. package/dist/create/pdf/united-states/form_7004/form.dto.js +109 -0
  19. package/dist/create/pdf/united-states/form_7004/form.dto.js.map +1 -0
  20. package/dist/create/pdf/united-states/form_7004/index.d.ts +4 -0
  21. package/dist/create/pdf/united-states/form_7004/index.js +108 -0
  22. package/dist/create/pdf/united-states/form_7004/index.js.map +1 -0
  23. package/dist/create/pdf/united-states/form_7004/schema.json +474 -0
  24. package/dist/create/pdf/united-states/index.d.ts +7 -4
  25. package/dist/create/pdf/united-states/index.js +9 -3
  26. package/dist/create/pdf/united-states/index.js.map +1 -1
  27. package/dist/tsconfig.tsbuildinfo +1 -1
  28. package/package.json +5 -4
@@ -0,0 +1,27 @@
1
+ import { AddressDto } from "../../types/common.dto";
2
+ import { TaxYearType } from "../form-4868/form.dto";
3
+ export { TaxYearType };
4
+ export declare enum Form7004ShortTaxYearReason {
5
+ initial_return = "initial_return",
6
+ final_return = "final_return",
7
+ change_in_accounting_period = "change_in_accounting_period",
8
+ consolidated_return = "consolidated_return",
9
+ other = "other"
10
+ }
11
+ export declare class Form7004DataDto {
12
+ name: string;
13
+ address: AddressDto;
14
+ ein: string;
15
+ formCode: string;
16
+ isForeignCorporation?: boolean;
17
+ isCommonParent?: boolean;
18
+ qualifiesUnderRegulations?: boolean;
19
+ selectedTaxYear: TaxYearType;
20
+ taxYearStartDate?: string;
21
+ taxYearEndDate?: string;
22
+ isShortTaxYear?: boolean;
23
+ shortTaxYearReason?: Form7004ShortTaxYearReason;
24
+ tentativeTotalTax?: number;
25
+ totalPaymentsAndCredits?: number;
26
+ balanceDue?: number;
27
+ }
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Form7004DataDto = exports.Form7004ShortTaxYearReason = exports.TaxYearType = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const common_dto_1 = require("../../types/common.dto");
15
+ const form_dto_1 = require("../form-4868/form.dto");
16
+ Object.defineProperty(exports, "TaxYearType", { enumerable: true, get: function () { return form_dto_1.TaxYearType; } });
17
+ var Form7004ShortTaxYearReason;
18
+ (function (Form7004ShortTaxYearReason) {
19
+ Form7004ShortTaxYearReason["initial_return"] = "initial_return";
20
+ Form7004ShortTaxYearReason["final_return"] = "final_return";
21
+ Form7004ShortTaxYearReason["change_in_accounting_period"] = "change_in_accounting_period";
22
+ Form7004ShortTaxYearReason["consolidated_return"] = "consolidated_return";
23
+ Form7004ShortTaxYearReason["other"] = "other";
24
+ })(Form7004ShortTaxYearReason || (exports.Form7004ShortTaxYearReason = Form7004ShortTaxYearReason = {}));
25
+ class Form7004DataDto {
26
+ }
27
+ exports.Form7004DataDto = Form7004DataDto;
28
+ __decorate([
29
+ (0, class_validator_1.IsString)(),
30
+ (0, class_validator_1.IsNotEmpty)(),
31
+ __metadata("design:type", String)
32
+ ], Form7004DataDto.prototype, "name", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsObject)(),
35
+ (0, class_validator_1.IsNotEmpty)(),
36
+ __metadata("design:type", common_dto_1.AddressDto)
37
+ ], Form7004DataDto.prototype, "address", void 0);
38
+ __decorate([
39
+ (0, class_validator_1.IsString)(),
40
+ (0, class_validator_1.IsNotEmpty)(),
41
+ (0, class_validator_1.Matches)(/^\d{2}-\d{7}$|^Applied for$/, {
42
+ message: 'Must be valid EIN format (XX-XXXXXXX) or "Applied for"',
43
+ }),
44
+ __metadata("design:type", String)
45
+ ], Form7004DataDto.prototype, "ein", void 0);
46
+ __decorate([
47
+ (0, class_validator_1.IsString)(),
48
+ (0, class_validator_1.IsNotEmpty)(),
49
+ (0, class_validator_1.Matches)(/^(0[1-9]|[12][0-9]|3[0-6])$/, {
50
+ message: 'formCode must be a 2-digit code between 01 and 36',
51
+ }),
52
+ __metadata("design:type", String)
53
+ ], Form7004DataDto.prototype, "formCode", void 0);
54
+ __decorate([
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_1.IsBoolean)(),
57
+ __metadata("design:type", Boolean)
58
+ ], Form7004DataDto.prototype, "isForeignCorporation", void 0);
59
+ __decorate([
60
+ (0, class_validator_1.IsOptional)(),
61
+ (0, class_validator_1.IsBoolean)(),
62
+ __metadata("design:type", Boolean)
63
+ ], Form7004DataDto.prototype, "isCommonParent", void 0);
64
+ __decorate([
65
+ (0, class_validator_1.IsOptional)(),
66
+ (0, class_validator_1.IsBoolean)(),
67
+ __metadata("design:type", Boolean)
68
+ ], Form7004DataDto.prototype, "qualifiesUnderRegulations", void 0);
69
+ __decorate([
70
+ (0, class_validator_1.IsEnum)(form_dto_1.TaxYearType),
71
+ (0, class_validator_1.IsNotEmpty)(),
72
+ __metadata("design:type", String)
73
+ ], Form7004DataDto.prototype, "selectedTaxYear", void 0);
74
+ __decorate([
75
+ (0, class_validator_1.IsOptional)(),
76
+ (0, class_validator_1.IsString)(),
77
+ __metadata("design:type", String)
78
+ ], Form7004DataDto.prototype, "taxYearStartDate", void 0);
79
+ __decorate([
80
+ (0, class_validator_1.IsOptional)(),
81
+ (0, class_validator_1.IsString)(),
82
+ __metadata("design:type", String)
83
+ ], Form7004DataDto.prototype, "taxYearEndDate", void 0);
84
+ __decorate([
85
+ (0, class_validator_1.IsOptional)(),
86
+ (0, class_validator_1.IsBoolean)(),
87
+ __metadata("design:type", Boolean)
88
+ ], Form7004DataDto.prototype, "isShortTaxYear", void 0);
89
+ __decorate([
90
+ (0, class_validator_1.IsOptional)(),
91
+ (0, class_validator_1.IsEnum)(Form7004ShortTaxYearReason),
92
+ __metadata("design:type", String)
93
+ ], Form7004DataDto.prototype, "shortTaxYearReason", void 0);
94
+ __decorate([
95
+ (0, class_validator_1.IsOptional)(),
96
+ (0, class_validator_1.IsNumber)(),
97
+ __metadata("design:type", Number)
98
+ ], Form7004DataDto.prototype, "tentativeTotalTax", void 0);
99
+ __decorate([
100
+ (0, class_validator_1.IsOptional)(),
101
+ (0, class_validator_1.IsNumber)(),
102
+ __metadata("design:type", Number)
103
+ ], Form7004DataDto.prototype, "totalPaymentsAndCredits", void 0);
104
+ __decorate([
105
+ (0, class_validator_1.IsOptional)(),
106
+ (0, class_validator_1.IsNumber)(),
107
+ __metadata("design:type", Number)
108
+ ], Form7004DataDto.prototype, "balanceDue", void 0);
109
+ //# sourceMappingURL=form.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.dto.js","sourceRoot":"","sources":["../../../../../src/create/pdf/united-states/form-7004/form.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDASyB;AACzB,uDAAoD;AACpD,oDAAoD;AAE3C,4FAFA,sBAAW,OAEA;AAEpB,IAAY,0BAMX;AAND,WAAY,0BAA0B;IACpC,+DAAiC,CAAA;IACjC,2DAA6B,CAAA;IAC7B,yFAA2D,CAAA;IAC3D,yEAA2C,CAAA;IAC3C,6CAAe,CAAA;AACjB,CAAC,EANW,0BAA0B,0CAA1B,0BAA0B,QAMrC;AAED,MAAa,eAAe;CAuE3B;AAvED,0CAuEC;AAnEC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;6CACC;AAId;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;8BACH,uBAAU;gDAAC;AAOrB;IALC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,EAAC,6BAA6B,EAAE;QACtC,OAAO,EAAE,wDAAwD;KAClE,CAAC;;4CACW;AAQb;IALC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,EAAC,6BAA6B,EAAE;QACtC,OAAO,EAAE,mDAAmD;KAC7D,CAAC;;iDACgB;AAKlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;6DACmB;AAI/B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;uDACa;AAIzB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;kEACwB;AAKpC;IAFC,IAAA,wBAAM,EAAC,sBAAW,CAAC;IACnB,IAAA,4BAAU,GAAE;;wDACiB;AAI9B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;yDACe;AAI1B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;uDACa;AAIxB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;uDACa;AAIzB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,0BAA0B,CAAC;;2DACa;AAKhD;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;0DACgB;AAI3B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;gEACsB;AAIjC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACS"}
@@ -0,0 +1,4 @@
1
+ import { Form7004DataDto } from "./form.dto";
2
+ declare const form7004Coordinates: (data: Form7004DataDto) => Record<string, string>[];
3
+ export declare const form7004: (data: Form7004DataDto) => Promise<Buffer>;
4
+ export { form7004Coordinates };
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.form7004Coordinates = exports.form7004 = void 0;
7
+ const fs_1 = require("fs");
8
+ const util_1 = require("util");
9
+ const path_1 = require("path");
10
+ const date_fns_1 = require("date-fns");
11
+ const util_2 = require("../../util");
12
+ const schema_json_1 = __importDefault(require("./schema.json"));
13
+ const form_dto_1 = require("./form.dto");
14
+ const custom_generate_1 = require("../../custom-generate");
15
+ const readFilePromise = (0, util_1.promisify)(fs_1.readFile);
16
+ const formatAmount = (amount) => {
17
+ if (amount === undefined || amount === null)
18
+ return "";
19
+ return amount.toString();
20
+ };
21
+ const form7004Coordinates = (data) => {
22
+ const page1 = {};
23
+ if (data.name) {
24
+ page1.name = data.name;
25
+ }
26
+ if (data.address) {
27
+ page1.address_line_1 = data.address.address_line_1 || "";
28
+ page1.city = data.address.city || "";
29
+ page1.state = data.address.state || "";
30
+ page1.zip = data.address.postal_code || "";
31
+ page1.country = data.address.country || "";
32
+ }
33
+ if (data.ein) {
34
+ page1.ein = data.ein;
35
+ }
36
+ if (data.formCode) {
37
+ page1.formCode_1 = data.formCode.charAt(0) || "";
38
+ page1.formCode_2 = data.formCode.charAt(1) || "";
39
+ }
40
+ if (data.isForeignCorporation) {
41
+ page1.isForeignCorporation = util_2.CHECKED_IMAGE;
42
+ }
43
+ if (data.isCommonParent) {
44
+ page1.isCommonParent = util_2.CHECKED_IMAGE;
45
+ }
46
+ if (data.qualifiesUnderRegulations) {
47
+ page1.qualifiesUnderRegulations = util_2.CHECKED_IMAGE;
48
+ }
49
+ if (data.isShortTaxYear && data.shortTaxYearReason) {
50
+ switch (data.shortTaxYearReason) {
51
+ case form_dto_1.Form7004ShortTaxYearReason.change_in_accounting_period:
52
+ page1.change_in_accounting_period = util_2.CHECKED_IMAGE;
53
+ break;
54
+ case form_dto_1.Form7004ShortTaxYearReason.initial_return:
55
+ page1.initial_return = util_2.CHECKED_IMAGE;
56
+ break;
57
+ case form_dto_1.Form7004ShortTaxYearReason.consolidated_return:
58
+ page1.consolidated_return = util_2.CHECKED_IMAGE;
59
+ break;
60
+ case form_dto_1.Form7004ShortTaxYearReason.other:
61
+ page1.other = util_2.CHECKED_IMAGE;
62
+ break;
63
+ case form_dto_1.Form7004ShortTaxYearReason.final_return:
64
+ page1.final_return = util_2.CHECKED_IMAGE;
65
+ break;
66
+ }
67
+ }
68
+ if (data.selectedTaxYear === form_dto_1.TaxYearType.FISCAL) {
69
+ if (data.taxYearStartDate) {
70
+ page1.taxStartYear_date = (0, date_fns_1.format)(new Date(data.taxYearStartDate), util_2.DATE_FORMAT).slice(0, 5);
71
+ page1.start_year = (0, date_fns_1.format)(new Date(data.taxYearStartDate), "yy");
72
+ }
73
+ if (data.taxYearEndDate) {
74
+ page1.taxEndYear_date = (0, date_fns_1.format)(new Date(data.taxYearEndDate), util_2.DATE_FORMAT).slice(0, 5);
75
+ page1.end_year = (0, date_fns_1.format)(new Date(data.taxYearEndDate), "yy");
76
+ }
77
+ }
78
+ else {
79
+ const calendarYear = data.taxYearEndDate
80
+ ? (0, date_fns_1.format)(new Date(data.taxYearEndDate), "yy")
81
+ : (0, date_fns_1.format)(new Date(), "yy");
82
+ page1.calender_year = calendarYear;
83
+ }
84
+ if (data.tentativeTotalTax !== undefined) {
85
+ page1.tentativeTotalTax = formatAmount(data.tentativeTotalTax);
86
+ }
87
+ if (data.totalPaymentsAndCredits !== undefined) {
88
+ page1.totalPaymentsAndCredits = formatAmount(data.totalPaymentsAndCredits);
89
+ }
90
+ if (data.balanceDue !== undefined) {
91
+ page1.balanceDue = formatAmount(data.balanceDue);
92
+ }
93
+ return [page1];
94
+ };
95
+ exports.form7004Coordinates = form7004Coordinates;
96
+ let pdfBufferInstance;
97
+ const getPDFInstance = async () => {
98
+ if (!pdfBufferInstance) {
99
+ pdfBufferInstance = await readFilePromise((0, path_1.resolve)(__dirname, "./template.pdf"));
100
+ }
101
+ return pdfBufferInstance;
102
+ };
103
+ const form7004 = async (data) => {
104
+ const pdfBuffer = await getPDFInstance();
105
+ return (0, custom_generate_1.generatePdf)(data, pdfBuffer, schema_json_1.default, form7004Coordinates);
106
+ };
107
+ exports.form7004 = form7004;
108
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/create/pdf/united-states/form-7004/index.ts"],"names":[],"mappings":"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"}