import {useState} from 'react'; import {minerBook,minerCurrent,minerReportRows,minerSource,minerTreatments,minerCommon,minerVehicle,minerReturn,minerNeedsDeadlineExtension,minerNeedsStayException,newMiner,recordMiners,saveMinerBook,type MinerBook,type MinerRow} from '@/lib/iva-miners'; export function SimulationMiners({draft,onChange}:{draft:Record;onChange:(field:string,value:string)=>void}){ const[error,setError]=useState('');let book:MinerBook;try{book=minerBook(draft);}catch(e){return

{String(e)}

;} const save=(next:MinerBook)=>{try{onChange('modelo_a_snapshot',saveMinerBook(draft,next));setError('');}catch(e){setError(String(e));}}; const change=(id:string,patch:Partial)=>save({...book,rows:book.rows.map(r=>r.id===id?{...r,...patch}:r)}); return
Importações dos mineiros — regime da África do Sul (P059)

Lei n.º2/2011,artigos1–4:página1 doPDF;artigo5:página2/p110-(8). O exemplar reúne vários diplomas;«Lei do Voluntariado» é o nome do ficheiro original de uma das ligações,não a base deste benefício. Regulamento:Decreto3/2011,artigos1–8,páginas2–3/p152–153.

Prepare apenas o percurso dos bens desta importação. A redução de50% pertence ao veículo separado da bagagem,não a todas as importações dos mineiros. O simulador não concede autorizações,nem emite declaração aduaneira. Importação temporária em férias tem licença/prazos próprios;use o percurso aduaneiro existente,não a transforme em isenção definitiva.

{error&&

{error}

} {book.rows.map(row=>{const rule=minerTreatments.find(t=>t.id===row.treatment);const text=(field:Exclude,label:string,type='text')=>;const choice=(key:keyof MinerRow['conditions'],label:string)=>; return
{row.description||'Importação de mineiro por preparar'} — {row.period||'período por indicar'} {text('description','Bens desta importação')}{text('beneficiary','Mineiro beneficiário originário')}{text('contractRef','Contrato e referência do visto de trabalho')}{text('period','Período da importação','month')}{text('importDate','Data da importação ou previsão','date')} {text('documentRef','Documento disponível ou previsão')}{text('documentDate','Data do documento ou previsão','date')}{text('scope','Âmbito:bens,operação,período e condições')}{text('evidence','Factos ou pressupostos expressos')} {minerCommon.map(([k,label])=>choice(k,label))}{rule?.conditions.map(([k,label])=>choice(k,label))} {row.rightHolder==='heir'&&<>{text('heirRef','Herdeiro e fundamento da transmissão do direito')}{text('deathDate','Data do óbito','date')}{text('requestDate','Data do requerimento','date')}{choice('heir','Qualidade de herdeiro legal identificada')}{choice('unusedRight','Direito não usado pelo beneficiário originário')}{choice('acquiredAlive','Bens adquiridos pelo mineiro em vida')}} {['baggage','return_baggage','monthly'].includes(row.treatment)&&} {text('customsRef','Referência aduaneira aplicável ou pressuposto da projecção')}{text('customsScope','Âmbito do enquadramento aduaneiro nesta importação')} {['monthly','accumulated'].includes(row.treatment)&&<>{text('value','Valor desta remessa emMZN')}{text('periodTotal','Total do âmbito mensal/acumulado,incluindo esta e outras remessas')}{text('quotaRef','Registo completo ou pressuposto do saldo,incluindo fora do dossier')}

Cobertura dos exemplares:15.000MZN por mês. Revisão do limite2(5) não é presumida. Não misturar saldos mensais com meses já acumulados.

} {row.treatment==='accumulated'&&<>{text('accumulationStart','Primeiro mês acumulado','month')}{text('accumulationMonths','Número de meses acumulados:1a6')}} {row.treatment==='appliance'&&text('kind','Tipo de electrodoméstico para o limite anual')} {minerVehicle(row.treatment)&&<>{row.previousBenefit==='known'&&text('previousBenefitDate','Data do benefício anterior aplicável','date')}} {(row.treatment==='appliance'||minerVehicle(row.treatment))&&<>{text('quantity','Quantidade abrangida nesta linha')}{text('quotaRef','Histórico do direito,incluindo benefícios fora do dossier')}} {minerReturn(row.treatment)&&<>{text('arrivalDate','Data da chegada no regresso definitivo','date')}{row.rightHolder!=='heir'&&text('requestDate','Data do requerimento do benefício','date')}{minerNeedsDeadlineExtension(row)&&<>{choice('deadlineExtension','Invoca prorrogação excepcional do prazo de90dias,por motivo justificado?')}{row.conditions.deadlineExtension==='yes'&&text('extensionRef','Prorrogação e motivo justificado,âmbito e prazo concedido ou pressuposto expresso')}}} {['return_vehicle','separate_vehicle'].includes(row.treatment)&&<>{text('stayStart','Início da estadia naRSA','date')}{text('stayEnd','Fim da estadia naRSA','date')}{minerNeedsStayException(row)&&<>{choice('stayException','Invoca autorização excepcional6(7) por estadia inferior a um ano?')}{row.conditions.stayException==='yes'&&text('exceptionRef','Autorização/âmbito da excepção6(7)ou pressuposto expresso')}}} {row.treatment==='separate_vehicle'&&<>{text('normalVat','IVA informado sem o benefício de50%,emMZN')}{text('normalVatRef','Referência do IVA normal ou pressuposto expresso')}}

Trocar percurso conserva os dados ocultos no rascunho e limpa as suas confirmações específicas. Referências aduaneiras disponíveis podem ser reutilizadas;nenhum procedimento específico daKAWENA é imposto às outras vias.

;})} {!!book.rows.length&&} {book.result&&<>

{minerCurrent(draft,book)?'Resultado corresponde às entradas guardadas.':'Entradas alteradas;resultado histórico conservado.'} {book.history?.length??0} versões anteriores.Sem dedução/campo11 ou declaração aduaneira emitida.

{minerReportRows(draft).map(([,label,value,source],i)=>
{label}
{value}{source}
)}
}
Fonte e âmbito documental

{minerSource}

; }