safra em cana: identificação do ciclo AAAA ou AAAA/AAAA
<safra>cana › safraRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
safra identifica o ciclo da aquisição de cana registrado na NF-e. O MOC orienta os formatos AAAA ou AAAA/AAAA. A tag não informa o mês dos fornecimentos: essa função pertence a ref. Uma safra pode ter vários demonstrativos mensais sem mudar sua identificação.
Caminho desta página: /nfeProc/NFe/infNFe/cana/safra. O prefixo nfeProc identifica a nota processada; a informação estudada pertence ao conteúdo da NF-e, dentro de NFe/infNFe.
Formato do MOC e limite do XSD
O MOC, ZC02 informa os formatos de quatro ou nove caracteres, por exemplo 2026 ou 2026/2027. No XSD PL 010f v1.04, a declaração de safra restringe texto entre 4 e 9 caracteres pelo tipo TString; não há naquela declaração um padrão que force sozinho AAAA/AAAA.
Essa diferença importa: passar no comprimento do XSD não prova conformidade com a orientação semântica do MOC. Use a identificação verdadeira e documentada do ciclo no formato aplicável, sem concluir que qualquer texto de quatro caracteres representa safra válida. MOC, p. 65 e XSD PL 010f.
Exemplo de ciclo e referência
Fragmento sintético do campo, parcial em relação à NF-e:
<safra xmlns="http://www.portalfiscal.inf.br/nfe">2026/2027</safra>
O exemplo identifica um ciclo hipotético já confirmado no demonstrativo; não estabelece que toda aquisição de outubro de 2026 pertença a esse ciclo. Uma referência como 10/2026 seria registrada separadamente em ref. A data de emissão também permanece em seu campo próprio.
O conteúdo não deve receber nomes de fornecedor, números de contrato ou data completa. Esses dados não substituem a identificação da safra, mesmo que o texto coubesse em algum limite. No grupo completo, safra vem antes de ref e é obrigatória uma vez.
Por que a safra altera a conferência do acumulado
Para conferir qTotAnt e qTotGer, identifique a qual ciclo pertencem os registros históricos. Levar automaticamente o último total geral para um novo ciclo pode misturar safras. Também não se deve reiniciar o acumulado apenas porque mudou o ano civil se o demonstrativo documenta a continuidade do mesmo ciclo.
O MOC citado não detalha todos os critérios de corte do anterior; o demonstrativo e o responsável por sua apuração precisam confirmar como os registros foram delimitados. Depois disso, confronte histórico, mês e geral do mesmo recorte. A página não determina calendário agrícola ou critério contábil a partir da tag.
Diagnóstico de ciclo trocado na importação
Compare safra na origem com o XML e com a chave usada para consultar os fornecimentos. Se o gerador preenche o ano atual automaticamente, examine se isso substituiu um ciclo de dois anos documentado. Se o texto foi truncado, verifique limite incorreto ou limpeza que removeu a barra. Se o erro é de schema, confira tamanho, texto não vazio e posição na sequência.
Corrija a origem ou transformação comprovadamente divergente e confirme novamente a referência e os acumulados relacionados. O grupo cana em NFC-e 65 se relaciona à rejeição 763, que não é uma rejeição do texto da safra. Não altere ciclo verdadeiro para contornar erro de modelo, nem use o campo para escolher tratamento tributário.
Fontes oficiais
- Leiaute NF-e/NFC-e — PL_010f_v1.04: cana/safra l6369–6379; TString4–9
- Tipos básicos NF-e/NFC-e — PL_010f_v1.04: TString, linhas 519–528: restrição textual usada pela declaração do campo.
- MOC 7.0 — Anexo I — 7.00, novembro/2020: Grupo ZC, p. 64–65; regra ZC01-10 e rejeição 763, p. 128
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/cana/safra- Namespace
http://www.portalfiscal.inf.br/nfe- Leiaute
- 4.00 · PL_010e_v1.02
- Ocorrências no XSD
- 1–1 no contexto do elemento pai
- Tipo
- inline:TString · TString
- Preenchimento no catálogo
- Condicional
A ocorrência vale dentro da estrutura XML: um campo obrigatório em um grupo opcional não torna esse grupo obrigatório. A aplicação fiscal depende da operação e da versão da regra.
- maxLength
9- minLength
4- pattern
[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}- whiteSpace
preserve