@accounter/shaam6111-generator
Version:
Fully typed application that generates, parses, and validates SHAAM 6111 tax reports.
276 lines (266 loc) • 11.1 kB
text/typescript
/**
* Interfaces for profit and loss records in SHAAM6111 reports
* Based on the Israeli Tax Authority specification
*/
// Section 1.1
export const SECTION_1_1 = [1000, 1010, 1015, 1020, 1025, 1030, 1040, 1051, 1052, 1090] as const;
// Section 1.2
export const SECTION_1_2 = [
1300, 1306, 1308, 1307, 1310, 1320, 1330, 1340, 1350, 1360, 1371, 1372, 1390, 1400, 1450,
] as const;
// Section 1.3
export const SECTION_1_3 = [
2000, 2005, 2006, 2011, 2012, 2015, 2020, 2025, 2030, 2035, 2040, 2045, 2050, 2060, 2066, 2067,
2068, 2070, 2075, 2080, 2085, 2090, 2095,
] as const;
// Section 1.4
export const SECTION_1_4 = [2590, 2570, 2560, 2550, 2540, 2530, 2520, 2510, 2500] as const;
// Section 1.5
export const SECTION_1_5 = [
3000, 3011, 3013, 3012, 3015, 3020, 3025, 3030, 3040, 3045, 3050, 3060, 3066,
] as const;
// Section 1.6
export const SECTION_1_6 = [3067, 3068, 3070, 3075, 3080, 3085, 3090, 3100, 3120, 3190] as const;
// Section 1.7
export const SECTION_1_7 = [
3500, 3511, 3513, 3512, 3515, 3520, 3530, 3535, 3540, 3545, 3550,
] as const;
// Section 1.8
export const SECTION_1_8 = [
3560, 3566, 3567, 3568, 3570, 3575, 3580, 3590, 3595, 3600, 3610, 3620, 3625, 3631, 3632, 3640,
3650, 3660, 3665, 3680, 3685, 3690,
] as const;
// Section 1.9
export const SECTION_1_9 = [5000, 5010, 5020, 5025, 5030, 5040, 5050, 5051, 5090] as const;
// Section 1.10
export const SECTION_1_10 = [5100, 5110, 5121, 5122, 5130, 5150, 5160, 5190] as const;
// Section 1.11
export const SECTION_1_11 = [
5200, 5210, 5220, 5230, 5236, 5237, 5240, 5250, 5260, 5270, 5290,
] as const;
// Section 1.12
export const SECTION_1_12 = [5300, 5310, 5320, 5330, 5390] as const;
// Section 1.13
export const SECTION_1_13 = [6666] as const;
// Section 1.14
export const SECTION_1_14 = [5600, 5610, 5620, 5630] as const;
// Section 1.15
export const SECTION_1_15 = [5700, 5710] as const;
// Section 1.16
export const SECTION_1_16 = [5800, 5810] as const;
// Define the allowed code values for profit and loss section
// These are the only valid codes per the specification
export const ALLOWED_PROFIT_LOSS_CODES = [
...SECTION_1_1,
...SECTION_1_2,
...SECTION_1_3,
...SECTION_1_4,
...SECTION_1_5,
...SECTION_1_6,
...SECTION_1_7,
...SECTION_1_8,
...SECTION_1_9,
...SECTION_1_10,
...SECTION_1_11,
...SECTION_1_12,
...SECTION_1_13,
...SECTION_1_14,
...SECTION_1_15,
...SECTION_1_16,
] as const;
// Create a type for the allowed codes
export type AllowedProfitLossCode = (typeof ALLOWED_PROFIT_LOSS_CODES)[number];
// Define which codes can have negative values
export const NEGATIVE_ALLOWED_PROFIT_LOSS_CODES = [
// Section 1.53
1000, 1090,
// Section 1.54
1300, 1350, 1360, 1390,
// Section 1.55
2090,
// Section 1.56
2500, 2590,
// Section 1.57
3190,
// Section 1.58
3500, 3610, 3690,
// Section 1.59
5000, 5040, 5090,
// Section 1.60
5300, 5330,
// Section 1.61
6666,
// Section 1.62
5600, 5610, 5620, 5630,
// Section 1.63
5800, 5810,
] as const;
// Define the summary codes that should equal the sum of their subsections
export const COMMON_PROFIT_LOSS_SUMMARY_CODES = [
1000, 2500, 5000, 5100, 5200, 5300, 5600, 5700, 5800,
] as const;
// Define the summary codes that are not simple sums
export const UNCOMMON_PROFIT_LOSS_SUMMARY_CODES = [1300, 2000, 3000, 3500, 6666] as const;
export const _PROFIT_LOSS_SUMMARY_CODES = [
...COMMON_PROFIT_LOSS_SUMMARY_CODES,
...UNCOMMON_PROFIT_LOSS_SUMMARY_CODES,
] as const;
export type CommonProfitLossSummaryCode = (typeof COMMON_PROFIT_LOSS_SUMMARY_CODES)[number];
export type ProfitLossSummaryCode = (typeof _PROFIT_LOSS_SUMMARY_CODES)[number];
export const PROFIT_LOSS_CODE_NAMES: Record<AllowedProfitLossCode, string> = {
1010: 'הכנסות ממכירות בארץ',
1015: 'הכנסות ממכירת מבנים כקבלן בונה',
1020: 'הכנסות ממכירות לחו"ל',
1025: 'הכנסה מביצוע עבודות כקבלן מבצע',
1030: 'הכנסות ממתן שירותים בארץ',
1040: 'הכנסות ממתן שירותים בחו"ל',
1051: 'הכנסות מצדדים קשורים בארץ',
1052: 'הכנסות מצדדים קשורים בחו"ל',
1090: 'הכנסות אחרות',
1000: 'סה"כ הכנסות ממכירות, מתן שירותים וביצוע עבודות',
1300: 'עלות המכירות, מתן השירותים וביצוע עבודות',
1306: 'שכר עבודה',
1307: 'נילוות לשכר עבודה',
1308: 'הוצאות בגין אופציות לעובדים',
1310: 'עבודות חוץ וקבלני משנה',
1320: 'קניות סחורה בארץ',
1330: 'קניות חומרי גלם וחומרי בנייה בארץ ובחו"ל',
1340: 'קניית סחורות בחו"ל',
1350: 'הפרשי שער בגין קניות במטבע חוץ',
1360: 'הוצאות לאחריות ולתביעות',
1371: 'קניות מצדדים קשורים בארץ',
1372: 'קניות מצדדים קשורים בחו"ל',
1390: 'עלויות אחרות',
1400: 'מלאי בתחילת התקופה',
1450: 'מלאי בסוף התקופה',
2000: 'סה"כ עלויות ייצור ועלויות אצל קבלן בונה',
2005: 'מלאי תחילת תקופה',
2006: 'הוצאות בגין אופציות לעובדים',
2011: 'שכר עבודה ייצור',
2012: 'נילוות לשכר עבודה ייצור',
2015: 'עלות קרקעות ופיתוח אצל קבלן בונה',
2020: 'עבודות חוץ וקבלני משנה',
2025: 'הוצאות אחראיות ותביעות',
2030: 'הוצאות ציוד מתכלה',
2035: 'הוצאות הובלה ואחסנה',
2040: 'הוצאות אריזה',
2045: 'הוצאות אחזקה ותיקונים',
2050: 'ביטוחים',
2060: 'דמי שכירות וניהול נכסים',
2066: 'אחזקת רכב והובלות (ללא דלק)',
2067: 'הוצאות דלק (לפני החזרים)',
2068: 'החזר בלו על דלק',
2070: 'מסים ואגרות',
2075: 'פחת',
2080: 'בגדי עבודה',
2085: 'חשמל ומים',
2090: 'עלויות ייצור אחרות',
2095: 'מלאי בסוף תקופה',
2500: 'סה"כ הוצאות מחקר ופיתוח',
2510: 'שכר עבודה',
2520: 'נילוות לשכר עבודה',
2530: 'הוצאות שכר בגין אופציות לעובדים',
2540: 'עבודות חוץ',
2550: 'הוצאות פחת',
2560: 'אחזקת רכב',
2570: 'תגמולים בגין מו"פ (כדוגמא למדען הראשי)',
2590: 'אחרות',
3000: 'סה"כ הוצאות מכירה',
3011: 'שכר עבודה',
3012: 'נילוות לשכר עבודה',
3013: 'הוצאות בגין אופציות לעובדים',
3015: 'הוצאות הובלה ואחסנה',
3020: 'עמלות ובונוסים לסוכנים עצמאים',
3025: 'ביטוחים',
3030: 'הוצאות לקבלני משנה',
3040: 'הוצאות אריזה',
3045: 'נסיעות',
3050: 'הוצאות אחזקה ותיקונים',
3060: 'דמי שכירות וניהול נכסים',
3066: 'אחזקת רכב והובלות (ללא דלק)',
3067: 'הוצאות דלק (לפני החזרים)',
3068: 'החזר בלו על דלק',
3070: 'מכרזים, ירידים ותערוכות',
3075: 'פרסום וקידום מכירות',
3080: 'פחת',
3085: 'חשמל ומים',
3090: 'בגדי עבודה',
3100: 'השתלמות וספרות מקצועית',
3120: 'עמלות וכרטיסי אשראי',
3190: 'שונות נטו',
3500: 'סה"כ הוצאות הנהלה וכלליות',
3511: 'שכר עבודה',
3512: 'נילוות לשכר עבודה',
3513: 'הוצאות בגין אופציות לעובדים',
3515: 'ביטוחים',
3520: 'עבודות חוץ וקבלני משנה',
3530: 'עמלות ובונוסים לסוכנים',
3535: 'הוצאות ציוד מתכלה',
3540: 'שירותים מקצועיים',
3545: 'הוצאות אריזה',
3550: 'הוצאות אחזקה ותיקונים',
3560: 'נסיעות',
3566: 'אחזקת רכב והובלות (ללא דלק)',
3567: 'הוצאות דלק (לפני החזרים)',
3568: 'החזר בלו על דלק',
3570: 'דמי שכירות וניהול נכסים',
3575: 'מסים ואגרות',
3580: 'פחת',
3590: 'חשמל ומים',
3595: 'שמירה וניקיון',
3600: 'חובות מסופקים ואבודים',
3610: 'פרסום וקידום מכירות',
3620: 'כיבודים, מתנות, תרומות, קנסות',
3625: 'הוצאות בגין צדדים קשורים בארץ',
3631: 'הוצאות בגין צדדים קשורים בחו"ל',
3632: 'הוצאות בגין צדדים קשורים בחו"ל',
3640: 'דמי ניהול',
3650: 'הוצאות דואר ותקשורת',
3660: 'נסיעות לחו"ל',
3665: 'הוצאות משפטיות',
3680: 'משרדיות',
3685: 'בגדי עבודה',
3690: 'שונות נטו וביטולי יתרות',
5000: 'סה"כ הוצאות מימון',
5010: 'לתאגידים בנקאיים',
5020: 'לצדדים קשורים בארץ',
5025: 'לצדדים קשורים בחו"ל',
5030: 'במטבע חוץ',
5040: 'בגין ספקים וזכאים',
5050: 'שיערוך נכסים/התחייבויות פיננסיות',
5051: 'בגין חוב מס',
5090: 'אחרות',
5100: 'סה"כ הכנסות מימון',
5110: 'מתאגידים בנקאיים',
5121: 'מצדדים קשורים בארץ',
5122: 'מצדדים קשורים בחו"ל',
5130: 'מהפרשי שער',
5150: 'שיערוך נכסים/התחייבויות פיננסיות',
5160: 'ריבית מאשראי חריג ממכירת מלאי/רכוש קבוע/נדל"ן',
5190: 'אחרות',
5200: 'סה"כ הכנסות אחרות',
5210: 'רווח הון ממימוש רכוש קבוע',
5220: 'רווח הון אחר',
5230: 'הכנסות מדמי ניהול',
5236: 'הכנסות מדמי ניהול מצדדים קשורים בארץ',
5237: 'הכנסות מדמי ניהול מצדדים קשורים בחו"ל',
5240: 'הכנסות מדיבידנד',
5250: 'הכנסות מהשכרת מבנים וקרקעות',
5260: 'הכנסות מתמלוגים',
5270: 'הכנסות/מענקים (לדוגמא מהמדען הראשי)',
5290: 'שונות',
5300: 'סה"כ הוצאות אחרות',
5310: 'הפסד הון ממימוש רכוש קבוע',
5320: 'הפסד הון אחר',
5330: 'הפרשה לירידת ערך',
5390: 'שונות',
5600: 'סה"כ מסים על הכנסה',
5610: 'מסים שוטפים',
5620: 'מסים נדחים',
5630: 'מסים בגין שנים קודמות',
5700: 'סה"כ ייעוד הרווחים',
5710: 'דיבידנד לחלוקה',
5800: 'סה"כ רווח/הפסד אקויטי',
5810: 'רווח/הפסד אקויטי',
6666: 'סה"כ רווח/הפסד לפני מסים',
} as const;