UNPKG

@accounter/shaam6111-generator

Version:

Fully typed application that generates, parses, and validates SHAAM 6111 tax reports.

201 lines (200 loc) 8.02 kB
/** * Tax Reporting System Interfaces * Based on specifications for Form 6111 electronic filing (טופס 6111) */ /** * Business type enum (סוג עסק) * @export * @enum {number} */ export declare enum BusinessType { /** Industrial (תעשייתי) */ INDUSTRIAL = 1, /** Commercial (מסחרי) */ COMMERCIAL = 2, /** Service providers (נותני שירותים) */ SERVICE = 3, /** Report includes more than one business (הדוח כולל יותר מעסק אחד) */ MULTIPLE = 4 } /** * Reporting method enum (שיטת דיווח) * @export * @enum {number} */ export declare enum ReportingMethod { /** Cash basis (מזומן) */ CASH = 1, /** Accrual basis (מצטבר) */ ACCRUAL = 2, /** According to dollar regulations (לפי תקנות דולריות) */ DOLLAR_REGULATIONS = 9 } /** * Accounting method enum (שיטת חשבונאות) * @export * @enum {number} */ export declare enum AccountingMethod { /** Single-entry (חד צידית) */ SINGLE_ENTRY = 1, /** Double-entry (כפולה) */ DOUBLE_ENTRY = 2 } /** * Business accounting system enum (הנח"ש של העסק) * @export * @enum {number} */ export declare enum AccountingSystem { /** Manual (ידני) */ MANUAL = 1, /** Computerized (ממוחשב) */ COMPUTERIZED = 2 } /** * Yes/No enum for various boolean fields * @export * @enum {number} */ export declare enum YesNo { /** Yes (כן) */ YES = 1, /** No (לא) */ NO = 2 } /** * IFRS reporting option enum (דווח בחלופה - יישום תקני חשבונאות) * @export * @enum {number} */ export declare enum IfrsReportingOption { /** Option 1 (חלופה 1) */ OPTION_1 = 1, /** Accounting adjustments for those who implemented Option 2 per directive 7/2010 (התאמות חשבונאיות למי שיישם את חלופה 2 בהוראת ביצוע 7/2010) */ OPTION_2_ADJUSTMENTS = 2, /** Accounting adjustments for those who implemented Option 3 per directive 7/2010 (התאמות חשבונאיות למי שיישם את חלופה 3 בהוראת ביצוע 7/2010) */ OPTION_3_ADJUSTMENTS = 3, /** No IFRS implementation (במידה ואין יישום תקני חשבונאות) */ NONE = 9 } /** * Currency reporting type enum (דיווח מטבע) * @export * @enum {number} */ export declare enum CurrencyType { /** Amounts in shekels (הסכומים בשקלים) */ SHEKELS = 1, /** Amounts in dollars (הסכומים בדולרים) */ DOLLARS = 2 } /** * Audit opinion type enum (חוות דעת) * @export * @enum {number} */ export declare enum AuditOpinionType { /** Unqualified opinion (נוסח אחיד (בלתי מסוייג)) */ UNQUALIFIED = 1, /** Unqualified opinion with emphasis on going concern (בנוסח אחיד עם הפניית תשומת לב להערת עסק חי) */ UNQUALIFIED_WITH_GOING_CONCERN = 2, /** Unqualified opinion with other emphases (בנוסח אחיד עם הפניות תשומת לב אחרת) */ UNQUALIFIED_WITH_OTHER_EMPHASES = 3, /** Qualified opinion (הסתייגות) */ QUALIFIED = 4, /** Adverse opinion (שלילית) */ ADVERSE = 5, /** Disclaimer of opinion (המנעות) */ DISCLAIMER = 6, /** No audit opinion (אין חוות דעת) */ NONE = 9 } /** * Report Data interface representing the complete tax report structure * @export * @interface ReportData */ export interface ReportData { /** Header record containing metadata about the tax report (כותרת) */ header: HeaderRecord; /** Profit and Loss statement data entries (דו"ח רווח והפסד) */ profitAndLoss: ReportEntry[]; /** Tax adjustment statement data entries (דו"ח התאמה למס) */ taxAdjustment: ReportEntry[]; /** Balance sheet data entries (דו"ח מאזן) */ balanceSheet: ReportEntry[]; } /** * Header Record interface containing metadata about the tax report * @export * @interface HeaderRecord */ export interface HeaderRecord { /** Tax file number (9 digits) - mandatory field (מספר תיק) */ taxFileNumber: string; /** Tax year (4 digits) - mandatory field (שנת מס) */ taxYear: string; /** ID number or company registration number (9 digits) - mandatory field (מס' זהות/ח.פ) */ idNumber: string; /** VAT file number (9 digits) - mandatory if exists (מס' תיק מע"מ) */ vatFileNumber?: string; /** Withholding tax file number (9 digits) - mandatory if exists (מס' תיק ניכויים) */ withholdingTaxFileNumber?: string; /** Industry code (4 digits) - mandatory field (מס' ענף) */ industryCode: string; /** Business description (50 characters max) - right-aligned Hebrew text (תאור העסק) */ businessDescription?: string; /** Business type - mandatory field (סוג עסק) */ businessType: BusinessType; /** Reporting method - mandatory field (שיטת דיווח) */ reportingMethod: ReportingMethod; /** Accounting method - mandatory field (שיטת חשבונאות) */ accountingMethod: AccountingMethod; /** Business accounting system - mandatory field (הנח"ש של העסק) */ accountingSystem: AccountingSystem; /** Is this report for a partnership (דוח זה בגין שותפות) */ isPartnership?: YesNo; /** Profit and Loss statement included - mandatory field (מצורף דוח רווח הפסד) */ includesProfitLoss: YesNo; /** Tax adjustment statement included - mandatory field (מצורף דוח התאמה) */ includesTaxAdjustment: YesNo; /** Balance sheet included - mandatory field (מצורף דוח מאזן) */ includesBalanceSheet: YesNo; /** Number of entries in profit and loss section (3 digits) - mandatory field (מספר נגררות פיסקת רווח הפסד) */ profitLossEntryCount: number; /** Number of entries in tax adjustment section (3 digits) - mandatory if entries exist (מספר נגררות פיסקת התאמה למס) */ taxAdjustmentEntryCount: number; /** Number of entries in balance sheet section (3 digits) - mandatory if entries exist (מספר נגררות פיסקת מאזן) */ balanceSheetEntryCount: number; /** * Year when IFRS accounting standards were implemented (4 digits) (שנת מס - יישום תקני חשבונאות) * Starting from 2006, or 9999 if not applicable */ ifrsImplementationYear?: string; /** IFRS reporting option (דווח בחלופה - יישום תקני חשבונאות) */ ifrsReportingOption?: IfrsReportingOption; /** Software registration certificate number (8 digits) - 99999999 if not applicable (מספר תעודת רישום - חייב ברישום תוכנה) */ softwareRegistrationNumber?: string; /** For partnership reports: number of partners (3 digits) - 999 if not applicable (דוח זה בגין שותפות: מספר השותפים) */ partnershipCount?: number; /** For partnership reports: share in partnership profits (6 digits, 2 decimal places) - 999999 if not applicable (דוח זה בגין שותפות: חלקי ברווחי השותפות) */ partnershipProfitShare?: number; /** Currency reporting type (דיווח מטבע) */ currencyType: CurrencyType; /** Audit opinion type (חוות דעת) */ auditOpinionType?: AuditOpinionType; /** Are amounts in thousands (הסכום באלפי שקלים/דולרים) */ amountsInThousands: YesNo; } /** * Report Entry interface representing a single financial data entry in any report section * @export * @interface ReportEntry */ export interface ReportEntry { /** Field code from Form 6111 (5 digits) (קוד שדה) */ code: string; /** Monetary amount (13 digits) - negative values have sign in leftmost position (סכום) */ amount: number; }