# Manifesto Fiscal

Sistema web para Manifestacao do Destinatario da NF-e, consulta por NSU,
download e armazenamento de XML.

## Stack definida

- Laravel
- MySQL
- Queue/Jobs para consulta por NSU
- Biblioteca fiscal PHP: `nfephp-org/sped-nfe`
- Certificado digital A1 `.pfx`

## Funcionalidades do MVP

- Cadastro de empresas com CNPJ, IE, UF e ambiente SEFAZ.
- Cadastro seguro do certificado A1 por empresa.
- Controle de ultimo NSU consultado por empresa.
- Consulta ao servico de Distribuicao DF-e.
- Armazenamento do XML recebido diretamente no MySQL.
- Registro dos documentos encontrados.
- Envio dos eventos de Manifestacao do Destinatario:
  - Ciencia da Operacao
  - Confirmacao da Operacao
  - Desconhecimento da Operacao
  - Operacao nao Realizada
- Armazenamento do protocolo e XML de retorno dos eventos no MySQL.

## Dependencias necessarias

Instalar no Windows:

- PHP 8.2 ou superior
- Composer
- MySQL 8 ou MariaDB compativel
- Extensoes PHP: `curl`, `dom`, `json`, `mbstring`, `openssl`, `soap`, `xml`, `zip`

Depois de instalar PHP e Composer, criar o projeto Laravel:

```powershell
composer create-project laravel/laravel .
composer require nfephp-org/sped-nfe
```

## Banco de dados

O schema inicial salva os XMLs no MySQL em colunas `LONGTEXT`:

```txt
database/schema/mysql_initial.sql
```

## Observacoes fiscais

A Manifestacao do Destinatario usa certificado digital do destinatario da NF-e.
O sistema so deve consultar/baixar XML de documentos em que a empresa seja
destinataria, emitente ou parte autorizada conforme regras da SEFAZ.

A Nota Tecnica 2020.001 v1.60, publicada em 23/04/2026, reduziu o prazo de
manifestacao conclusiva para 90 dias, com efeitos a partir de 01/06/2026.
