@accounter/shaam6111-generator
Version:
Fully typed application that generates, parses, and validates SHAAM 6111 tax reports.
60 lines (58 loc) • 2.08 kB
text/typescript
import { IndividualOrCompanyEnum, ReportData } from '../../../src/types/index.js';
/**
* Invalid test data for the validateData function.
* Contains several validation errors:
* 1. profitLossEntryCount doesn't match actual number of entries
* 2. Code 6666 in profitAndLoss doesn't match code 100 in taxAdjustment
* 3. Sum of codes 1450 and 2095 doesn't equal balance sheet code 7800
*/
export const invalidReportData1: ReportData = {
header: {
taxFileNumber: '123456789',
taxYear: '2025',
idNumber: '987654321',
vatFileNumber: '123456789',
withholdingTaxFileNumber: '987654321',
industryCode: '1234',
businessDescription: 'Tech Company Ltd',
businessType: 2,
reportingMethod: 2,
accountingMethod: 2,
accountingSystem: 2,
isPartnership: 2,
includesProfitLoss: 1,
includesTaxAdjustment: 1,
includesBalanceSheet: 1,
profitLossEntryCount: 3, // Error: Actual count is 4
taxAdjustmentEntryCount: 6,
balanceSheetEntryCount: 3,
ifrsImplementationYear: '2023',
ifrsReportingOption: 9,
softwareRegistrationNumber: '12345678',
partnershipCount: 0,
partnershipProfitShare: 0,
currencyType: 1,
auditOpinionType: 1,
amountsInThousands: 2,
},
profitAndLoss: [
{ code: 1001, amount: 100_000 },
{ code: 1450, amount: 25_000 }, // Sum with 2095 should equal 7800, but doesn't
{ code: 2095, amount: 75_000 },
{ code: 6666, amount: 250_000 }, // Should equal code 100 in taxAdjustment, but doesn't
],
taxAdjustment: [
{ code: 100, amount: 350_000 }, // Error: Doesn't match code 6666 in profitAndLoss (150_000)
{ code: 103, amount: 75_000 },
{ code: 104, amount: 10_000 },
{ code: 370, amount: 5000 },
{ code: 383, amount: 5000 },
{ code: 400, amount: 150_000 },
],
balanceSheet: [
{ code: 6000, amount: 500_000 },
{ code: 7000, amount: 350_000 },
{ code: 7800, amount: 150_000 }, // Error: Should equal sum of codes 1450 and 2095 (75_000), but doesn't
],
individualOrCompany: IndividualOrCompanyEnum.COMPANY,
};