@php use App\Support\ConfrontoSubetapa; $painel = $confrontoPainel ?? []; $pendencias = $painel['pendencias'] ?? collect(); $cadastro = $painel['cadastro_resumo'] ?? []; $grupo = $painel['grupo_resumo'] ?? []; $semCadastro = $painel['sem_cadastro'] ?? []; $unidadesDiv = $painel['unidades_divergentes'] ?? []; $ncmSemPreencher = $painel['ncm_sem_preencher'] ?? []; $ncmCorrecoes = $painel['ncm_correcoes'] ?? []; $ncmQtdSugestao = $painel['ncm_qtd_sugestao'] ?? 0; $classTribPainel = $painel['classtrib_painel'] ?? []; $classTribPendentes = $classTribPainel['pendentes'] ?? []; $classTribDefinidos = $classTribPainel['definidos'] ?? []; $classTribQtdPendentes = $classTribPainel['qtd_pendentes'] ?? 0; $classTribQtdAmbiguos = $classTribPainel['qtd_ambiguos'] ?? 0; $classTribQtdAcionaveis = $classTribPainel['qtd_acionaveis'] ?? 0; $classTribGrupos = $classTribPainel['grupos_cst'] ?? []; $classTribTabelaVazia = $classTribPainel['tabela_vazia'] ?? false; $confrontoSecao = ConfrontoSubetapa::normalizar(request('confronto')); $confrontoSubInfo = ConfrontoSubetapa::info($confrontoSecao); $spedAlertas = $painel['sped_alertas'] ?? ($spedQualidade['alertas'] ?? []); $porRegra = $painel['pendencias_por_regra'] ?? collect(); $pront = $painel['prontidao'] ?? ($prontidao ?? null); $regraLabels = \App\Services\ConfrontoRegrasCatalog::labels(); $fmtNcm = function (?string $ncm) { $d = preg_replace('/\D/', '', (string) $ncm); if (strlen($d) === 8) { return substr($d, 0, 4) . '.' . substr($d, 4, 2) . '.' . substr($d, 6, 2); } return $ncm ?: '—'; }; @endphp @include('admin.simulacoes._confronto_fluxo', [ 'sim' => $sim, 'pendencias' => $pendencias, 'fluxoPosImport' => $fluxoPosImport ?? false, 'dashboardUrl' => $dashboardUrl ?? null, ])

{{ $confrontoSubInfo['rotulo'] }} {{ $confrontoSecao === 'resumo' ? 'Conferência de dados — Visão geral' : $confrontoSubInfo['titulo'] }}

@if($confrontoSecao === 'resumo') Identifique o que impede simular, corrija cadastros e acompanhe a prontidão desta análise. @else {{ $confrontoSubInfo['subtitulo'] }} @endif

@csrf
@if($sim->idpessoa) Painel global @endif
@if($confrontoSecao === 'resumo') @include('admin.simulacoes._etapa_guia', [ 'dataTour' => 'confronto-guia', 'titulo' => 'Como usar este painel', 'icone' => 'fa-compass', 'passos' => [ 'Siga as sub-etapas ao lado (2.1 Visão geral, 2.2 NCM, 2.3 Classificação, 2.4 Cadastro) — uma tarefa por vez.', 'NCM — corrija códigos ausentes; use sugestões de meses anteriores quando disponíveis.', 'Classificação — escolha o cClassTrib produto por produto (ou use o atalho em lote quando todos compartilham o mesmo CST).', 'Recalcular conferência no topo após correções em massa.', ], ]) @endif @if($pront)
Prontidão para simular: @include('components.prontidao-badge', ['prontidao' => $pront]) {{ $pront->pendencias_bloqueantes }} bloqueante(s) · {{ $pront->pendencias_ressalva }} ressalva(s)
@if(($pront->criterios_json['pct_vinculado'] ?? null) !== null) @endif
@endif @if($confrontoSecao === 'resumo') @include('admin.simulacoes._confronto_resumo', compact( 'sim', 'spedAlertas', 'ncmSemPreencher', 'ncmQtdSugestao', 'classTribQtdPendentes', 'classTribQtdAmbiguos', 'classTribQtdAcionaveis', 'semCadastro', 'unidadesDiv', 'cadastro', 'grupo', 'pendencias' )) @elseif($confrontoSecao === 'ncm') @push('css') @endpush
Correção interna de NCM

Marque os produtos, informe o NCM e clique em Aplicar — ou digite/cole o NCM direto na linha (salva automaticamente). Quando terminar, clique em Recalcular conferência no topo para atualizar simulações e projeções. A correção vale para todo o cliente (todas as simulações, meses e projeções 2026–2033) — o arquivo SPED original não é alterado.

@if(count($ncmSemPreencher) > 0)
@if($ncmQtdSugestao > 0)
@csrf
@endif
@csrf
@foreach($ncmSemPreencher as $item) @endforeach
Sel. Código SPED Descrição Reg. Valor total Volume total Preço médio unit. Sugestão NCM *
{{ $item['cod_item'] }} {{ Str::limit($item['descr_item'] ?? '', 50) }} {{ $item['reg'] ?? '—' }} R$ {{ number_format((float) ($item['valor_total'] ?? 0), 2, ',', '.') }} @if(!empty($item['volume_total'])) {{ number_format((float) $item['volume_total'], 2, ',', '.') }} {{ $item['unidade'] ?? '' }} @else @endif @if(!empty($item['preco_medio'])) R$ {{ number_format((float) $item['preco_medio'], 2, ',', '.') }} @else @endif @if(!empty($item['ncm_sugerido']))
{{ $fmtNcm($item['ncm_sugerido']) }} mês {{ $item['ncm_sugerido_periodo'] ?? '—' }}
@else @endif
@else

Nenhum produto pendente de NCM.

@endif @if(count($ncmCorrecoes) > 0)
Correções salvas para este cliente
@foreach($ncmCorrecoes as $c) @endforeach
Código Descrição NCM Observação
{{ $c['cod_item'] }} {{ Str::limit($c['descr_item'] ?? '', 50) }} {{ $fmtNcm($c['ncm'] ?? '') }} {{ Str::limit($c['observacao'] ?? '', 40) }}
@csrf
@endif
@include('admin.simulacoes._ncm_mask') @elseif($confrontoSecao === 'classtrib') @include('admin.simulacoes._classtrib', [ 'sim' => $sim, 'grupos' => $classTribGrupos, 'pendentes' => $classTribPendentes, 'definidos' => $classTribDefinidos, 'tabelaVazia' => $classTribTabelaVazia, 'alerta' => $classTribPainel['alerta'] ?? null, ]) @elseif($confrontoSecao === 'cadastro') @include('admin.simulacoes._confronto_cadastro', compact('sim', 'semCadastro', 'unidadesDiv')) @endif @push('js') @endpush