vAFRMM na NF-e: valor do adicional da importação marítima
<vAFRMM>det › prod › DI › vAFRMMRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
vAFRMM representa o valor do Adicional ao Frete para Renovação da Marinha Mercante ligado à importação no grupo DI do produto. Fica em /nfeProc/NFe/infNFe/det/prod/DI/vAFRMM.
É um valor monetário. Não informa a via de transporte, não substitui o frete e não corresponde automaticamente ao Imposto de Importação ou ao conjunto das despesas aduaneiras.
Quando a informação é exigida
No XSD PL 010f v1.04, o elemento é estruturalmente opcional, de 0 a 1 por DI. No MOC 7, pp.19 e 95, a condição marítima exige sua presença: a regra I23b-10, modelo 55, verifica tpViaTransp=1 sem vAFRMM e prevê a rejeição 330.
Portanto, há duas perguntas diferentes: o schema permite omitir o elemento? A regra de negócio admite a omissão na via documentada? A primeira resposta não elimina a segunda verificação.
A condição de presença não fornece o valor nem determina incidência, suspensão, isenção ou recolhimento. Se os documentos indicarem um tratamento específico, confirme o montante que deve ser representado e seu fundamento com o responsável aduaneiro/fiscal. A falta do documento não pode ser convertida automaticamente em 0.
Origem do valor e associação por DI
Recupere o valor nos documentos aduaneiros e na memória correspondente à importação. Depois confira a vinculação com o produto e com a ocorrência DI. Se houver várias declarações ou produtos, não copie o total geral para todas as linhas: isso pode duplicar valores.
O leiaute não define aqui uma fórmula universal de rateio. Para uma declaração que abrange vários itens, o critério e os valores atribuídos precisam vir de documentação e orientação aplicáveis. O integrador deve transportar fielmente o resultado confirmado, preservando a associação, sem inventar alíquota ou base a partir do frete.
| Campo | Informação representada |
|---|---|
DI/vAFRMM |
Adicional vinculado à importação |
prod/vFrete |
Frete do item da NF-e |
imposto/II/vII |
Valor de Imposto de Importação |
imposto/II/vDespAdu |
Despesas aduaneiras representadas no grupo II |
Somar ou mover um desses valores para outro campo exige fundamento próprio. O nome AFRMM não autoriza acrescê-lo novamente ao total da nota se sua participação já estiver contemplada nos valores documentados.
Formato e exemplo
O tipo TDec_1302 admite até 13 dígitos inteiros e representação monetária com duas casas quando houver parte decimal. O XML usa ponto e não recebe R$ nem separador de milhar. XSD oficial.
Fragmento sintético parcial, supondo valor já confirmado de R$ 125,40 na DI; não representa cálculo do adicional ou uma nota completa:
<vAFRMM xmlns="http://www.portalfiscal.inf.br/nfe">125.40</vAFRMM>
Nesse exemplo, o integrador apenas representa 125,40. Não há alíquota implícita nem relação demonstrada com um valor de frete. Se a documentação confirmar zero, a representação numérica de zero é diferente de ausência; isso não transforma zero em solução geral para 330.
Como investigar a rejeição 330
- Localize o produto e a ocorrência DI apontados no retorno.
- Confira a via internacional real em
tpViaTransp. - Se for marítima 1, verifique se
vAFRMMexiste no XML; valor só na tela ou no banco não prova envio. - Compare o valor enviado com o documento e com a associação por item/declaração.
- Confira formatação e sequência: o elemento fica depois de
tpViaTranspe antes detpIntermedio.
Corrija a ausência ou divergência comprovada na origem e gere novamente pelo emissor. Não troque a via marítima por outra para dispensar o campo e não aplique uma taxa sugerida por exemplos. Se o montante ou a atribuição aos itens não estiverem confirmados, a pendência específica é documental e aduaneira.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/prod/DI/vAFRMM- Namespace
http://www.portalfiscal.inf.br/nfe- Leiaute
- 4.00 · PL_010e_v1.02
- Ocorrências no XSD
- 0–1 no contexto do elemento pai
- Tipo
- TDec_1302 · string
- 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.
- pattern
0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?- whiteSpace
preserve