@if(!empty($logo_gestornow)) @endif @if(!empty($eh_troca_plano) && $eh_troca_plano)

Recibo de Troca de Plano

{{ ucfirst($tipo_troca ?? 'Migração') }} de Plano - Licenciamento de Software SaaS
@else

Recibo de Serviço Prestado

Taxa de Adesão - Licenciamento de Software SaaS
@endif
Nº {{ $numero_recibo }}
Dados do Cliente
Razão Social / Nome:
{{ $cliente['razao_social'] }}
CNPJ / CPF:
{{ $cliente['cnpj_cpf'] }}
@if($cliente['email'])
E-mail:
{{ $cliente['email'] }}
@endif @if($cliente['endereco'])
Endereço:
{{ $cliente['endereco'] }}
@endif
@if(!empty($eh_troca_plano) && $eh_troca_plano)
Detalhes da Troca de Plano
@else
Plano Contratado
@endif
@if(!empty($eh_troca_plano) && $eh_troca_plano)
Tipo da Operação:
{{ strtoupper($tipo_troca ?? 'MIGRAÇÃO') }}
@endif
{{ (!empty($eh_troca_plano) && $eh_troca_plano) ? 'Novo Plano:' : 'Plano:' }}
{{ $plano['nome'] }}
@if(!empty($eh_troca_plano) && $eh_troca_plano && !empty($valor_mensal_anterior))
Mensalidade Anterior:
{{ $valor_mensal_anterior }}
@endif
{{ (!empty($eh_troca_plano) && $eh_troca_plano) ? 'Nova Mensalidade:' : 'Mensalidade:' }}
{{ $valor_mensalidade_formatado }} / mês
@if($valor_adesao > 0)
{{ (!empty($eh_troca_plano) && $eh_troca_plano) ? 'Taxa de Migração:' : 'Taxa de Adesão:' }}
{{ $valor_adesao_formatado }} ({{ $valor_extenso }})
@endif
Recursos e Limites Contratados
@foreach($recursos_plano as $recurso) @endforeach
Recursos do Plano
{{ $recurso }}

Informações de Autenticidade e Validade Jurídica

Data do Aceite: {{ $data_aceite }}

Aceito por: {{ $assinado_por }}

IP de Origem: {{ $ip_aceite }}

Data de Emissão: {{ $data_emissao }}

Hash de Integridade (SHA-256):
{{ $hash_documento }}
@if(!empty($clausulas_aceitas)) @php $textoClausulas = trim((string) $clausulas_aceitas); $textoClausulas = preg_replace('/\r\n?/', "\n", $textoClausulas) ?? $textoClausulas; $textoClausulas = preg_replace('/\n{3,}/', "\n\n", $textoClausulas) ?? $textoClausulas; $blocosRaw = collect(preg_split('/\n\s*\n/', $textoClausulas)) ->map(fn ($bloco) => trim((string) $bloco)) ->filter() ->values(); if ($blocosRaw->isEmpty() && $textoClausulas !== '') { $blocosRaw = collect([$textoClausulas]); } $blocosClausulas = $blocosRaw->map(function ($bloco) { $linhas = collect(preg_split('/\n+/', (string) $bloco)) ->map(fn ($linha) => trim((string) $linha)) ->filter() ->values(); if ($linhas->isEmpty()) { return null; } $titulo = ''; $corpo = ''; if ($linhas->count() > 1) { $titulo = (string) $linhas->first(); $corpo = (string) $linhas->slice(1)->implode("\n"); } else { $linha = (string) $linhas->first(); if (preg_match('/^(CL[ÁA]USULA\s+[A-Z0-9IVXLCM\-\s]+)[:\-\.\s]+(.+)$/iu', $linha, $match)) { $titulo = trim((string) ($match[1] ?? 'CLÁUSULA')); $corpo = trim((string) ($match[2] ?? '')); } else { $titulo = 'CLÁUSULA'; $corpo = $linha; } } if (str_contains($corpo, '|')) { $partesCorpo = collect(explode('|', $corpo)) ->map(fn ($parte) => trim((string) $parte)) ->filter() ->values(); $corpo = $partesCorpo->implode("\n"); } $titulo = $titulo !== '' ? $titulo : 'CLÁUSULA'; $corpo = $corpo !== '' ? $corpo : '-'; return [ 'titulo' => $titulo, 'corpo' => $corpo, ]; })->filter()->values(); @endphp @if($blocosClausulas->isNotEmpty())
Cláusulas Aceitas - {{ $titulo_contrato }} (v{{ $versao_contrato }})
@foreach($blocosClausulas as $blocoClausula)
{{ $blocoClausula['titulo'] }}
{!! nl2br(e($blocoClausula['corpo'])) !!}
@endforeach
@endif @endif
@if(($assinatura['tipo'] ?? '') === 'imagem' && !empty($assinatura['valor'])) Assinatura @elseif(($assinatura['tipo'] ?? '') === 'texto' && !empty($assinatura['valor']))
{{ $assinatura['valor'] }}
@endif
{{ $contrato->assinado_por_nome }}
{{ $contrato->assinado_por_documento ?: $cliente['cnpj_cpf'] }}

Documento gerado eletronicamente em {{ $data_emissao }}