Nfse.Schema (nfse v0.1.0)

Copy Markdown View Source

Os leiautes da NFS-e Nacional que a biblioteca conhece.

Cada versão tem um módulo por tipo complexo do XSD, gerado pela tarefa nfse.gen do repositório, como Nfse.Schema.V1_01.TCInfDPS. A 1.01 é a versão escrita; a 1.00 só é lida, para os documentos emitidos antes dela.

Os campos têm o nome do XSD em snake_case, com as siglas NFSe, DFSe, NFe e DFe contadas como uma palavra: cLocEmi vira c_loc_emi e infNFSe vira inf_nfse.

Summary

Functions

Devolve o módulo do documento raiz root na versão do leiaute version, como o atributo versao do XML a traz.

Types

root()

@type root() :: :dps | :nfse | :pedido_evento | :evento

Functions

root(version, root)

@spec root(String.t(), root()) :: {:ok, module()} | {:error, Nfse.Error.t()}

Devolve o módulo do documento raiz root na versão do leiaute version, como o atributo versao do XML a traz.

iex> Nfse.Schema.root("1.01", :nfse)
{:ok, Nfse.Schema.V1_01.TCNFSe}