pub struct Nfe {
pub versao: VersaoLayout,
pub chave_acesso: String,
pub ide: Identificacao,
pub emit: Emitente,
pub dest: Option<Destinatario>,
pub itens: Vec<Item>,
pub totais: Totalizacao,
pub transporte: Transporte,
pub informacao_complementar: Option<String>,
}Expand description
Estrutura principal da Nota Fiscal Eletrônica (NF-e)
Esta estrutura representa uma NF-e parseada, contendo todos os grupos de informações definidos no layout 4.00 da SEFAZ.
A NF-e pode ser de dois modelos:
- Modelo 55 (NF-e): Nota Fiscal Eletrônica tradicional para operações B2B
- Modelo 65 (NFC-e): Nota Fiscal de Consumidor Eletrônica para varejo
§Campos Principais
| Campo | Tag XML | Descrição |
|---|---|---|
| versao | @versao | Versão do layout (4.00) |
| chave_acesso | @Id | Chave de 44 dígitos que identifica a nota |
| ide | <ide> | Dados de identificação |
| emit | <emit> | Dados do emitente |
| dest | <dest> | Dados do destinatário |
| itens | <det> | Lista de produtos (1 a 990) |
| totais | <total> | Valores totalizados |
| transporte | <transp> | Informações de frete |
§Exemplo de Uso
use std::fs::File;
use nfe::Nfe;
let file = File::open("nota.xml")?;
let nfe = Nfe::try_from(file)?;
println!("Chave: {}", nfe.chave_acesso);
println!("Total: R$ {:.2}", nfe.totais.valor_total);Fields§
§versao: VersaoLayoutVersão do layout XML da NF-e (atualmente 4.00)
chave_acesso: StringChave de acesso de 44 dígitos que identifica unicamente a NF-e Formato: UF(2) + AAMM(4) + CNPJ(14) + MOD(2) + SERIE(3) + NNF(9) + CODIGO(9) + DV(1)
ide: IdentificacaoGrupo de identificação da NF-e (tag
emit: EmitenteDados do emitente da nota fiscal (tag
dest: Option<Destinatario>Dados do destinatário/comprador (tag
itens: Vec<Item>Lista de itens/produtos da nota fiscal (tags
totais: TotalizacaoTotalização de valores da nota fiscal (tag
transporte: TransporteInformações de transporte/frete (tag
informacao_complementar: Option<String>Informações complementares de interesse do contribuinte (tag