Cfdi.Xml.Comprobante (cfdi_xml v4.0.1)

Copy Markdown

Acceso de alto nivel al CFDI parseado, espejo de la clase CFDI del paquete TypeScript.

Tras Cfdi.Xml.Comprobante.new/2 el árbol completo queda accesible vía cfdi.comprobante, que es el mapa raíz del CFDI. Desde ahí se llega a todo:

cfdi = Cfdi.Xml.Comprobante.new(xml)
cfdi.comprobante["Emisor"]      #=> %{"Nombre" => ..., "Rfc" => ...}
cfdi.comprobante["Receptor"]    #=> %{...}
cfdi.comprobante["Conceptos"]   #=> [%{...}, %{...}]
cfdi.comprobante["Impuestos"]   #=> %{...}
cfdi.comprobante["Complemento"] #=> %{...}

Por defecto las claves son cadenas. Pasa keys: :atom para que todo el árbol use átomos:

cfdi = Cfdi.Xml.Comprobante.new(xml, keys: :atom)
cfdi.comprobante[:Emisor][:Nombre]

Summary

Types

t()

@type t() :: %Cfdi.Xml.Comprobante{
  comprobante: map() | nil,
  json: map(),
  keys: :string | :atom
}

Functions

new(xml, opts \\ [])

@spec new(String.t(), Cfdi.Xml.Parser.opts()) :: t()