import { pecCase } from './irpc-pec-case.mjs'; import { prepareInternationalBook, newInternationalProof, } from '../../../resources/js/lib/irpc-annual-settlement.ts'; import { newInternationalPosition } from '../../../resources/js/lib/irpc-international-credit.ts'; export function internationalCase( tax = '10', national = '8', pec = '200', ppc = '500', rf = '0', ) { const c = pecCase(pec, ppc, rf); c.b = prepareInternationalBook(c.b); const p = { ...newInternationalPosition('country-za'), country: 'ZA', qualificationCountry: 'ZA', subjectNuit: c.b.subjectNuit, year: c.b.year, assessmentKey: c.b.assessmentKey, incomeAmount: '100', incomeIncluded: 'yes', incomeReference: 'SYNTHETIC QA: foreign income included in valid 2026 base', nationalLimit: national, nationalLimitReference: 'SYNTHETIC QA: documented national fraction, no automatic derivation', treaty: 'no', treatyReference: 'SYNTHETIC QA assumption only; not an assertion about actual ZA convention applicability', previousUse: { state: 'known', amount: '0', reference: 'SYNTHETIC QA: actual previous credit use known zero', }, payments: [ { ...newInternationalProof('foreign-tax'), document: 'SYNTHETIC-FOREIGN-TAX-2026', issuer: 'SYNTHETIC QA foreign authority', date: '2026-09-30', subjectNuit: c.b.subjectNuit, year: c.b.year, proofAmount: tax, amount: tax, effective: 'yes', incomeTax: 'yes', reference: 'SYNTHETIC QA paid MZN tax amount, no real receipt', taxReference: 'SYNTHETIC QA income tax nature and entitlement', }, ], }; Object.assign(c.b.internationalCredits, { state: 'known', reference: 'SYNTHETIC QA complete inventory for entity/year', positions: [p], }); return c; }