Nfse.Schema.V1_01.TCRTCTotalCIBS (nfse v0.1.0)

Copy Markdown View Source

Tipo TCRTCTotalCIBS do leiaute 1.01, em tiposComplexos_v1.01.xsd.

CampoXMLTipoOcorrênciaDescrição
v_tot_nfvTotNFTSDec15V21Valor Total da NF considerando os impostos por fora: IBS e CBS O IBS e a CBS são por fora, por isso seus valores devem ser adicionados ao valor total da NF vTotNF = vLiq (em 2026) vTotNF = vLiq + vCBS + vIBSTot (a partir de 2027)
g_ibsgIBSNfse.Schema.V1_01.TCRTCTotalIBS1Grupo de valores referentes ao IBS
g_cbsgCBSNfse.Schema.V1_01.TCRTCTotalCBS1Grupo de valores referentes à CBS
g_trib_regulargTribRegularNfse.Schema.V1_01.TCRTCTotalTribRegular0..1Grupo de informações de tributação regular
g_trib_compra_govgTribCompraGovNfse.Schema.V1_01.TCRTCTotalTribCompraGov0..1Grupo de informações da composição do valor do IBS e da CBS em compras governamentais

Summary

Functions

Lê o elemento, na árvore do Saxy.SimpleForm, como este struct e valida o resultado.

Escreve o struct já validado como o elemento tag, na forma canônica. Os extra_attributes, como as declarações de namespace, saem antes dos atributos do struct.

Converte attrs (mapa, lista de palavras-chave ou o próprio struct, também nos campos aninhados) neste struct e valida o resultado. As regras estão em Nfse.Schema.Runtime.

Valida o struct contra o XSD e devolve cada erro com o caminho do campo.

Types

t()

@type t() :: %Nfse.Schema.V1_01.TCRTCTotalCIBS{
  g_cbs: Nfse.Schema.V1_01.TCRTCTotalCBS.t() | nil,
  g_ibs: Nfse.Schema.V1_01.TCRTCTotalIBS.t() | nil,
  g_trib_compra_gov: Nfse.Schema.V1_01.TCRTCTotalTribCompraGov.t() | nil,
  g_trib_regular: Nfse.Schema.V1_01.TCRTCTotalTribRegular.t() | nil,
  v_tot_nf: Decimal.t() | nil
}

Functions

decode(element)

@spec decode(Saxy.SimpleForm.t()) :: {:ok, t()} | {:error, Nfse.Error.t()}

Lê o elemento, na árvore do Saxy.SimpleForm, como este struct e valida o resultado.

encode(struct, tag, extra_attributes \\ [])

@spec encode(t(), String.t(), [Nfse.Schema.Runtime.attribute()]) :: iodata()

Escreve o struct já validado como o elemento tag, na forma canônica. Os extra_attributes, como as declarações de namespace, saem antes dos atributos do struct.

new(attrs)

@spec new(map() | keyword() | t()) :: {:ok, t()} | {:error, Nfse.Error.t()}

Converte attrs (mapa, lista de palavras-chave ou o próprio struct, também nos campos aninhados) neste struct e valida o resultado. As regras estão em Nfse.Schema.Runtime.

validate(struct)

@spec validate(t()) :: :ok | {:error, Nfse.Error.t()}

Valida o struct contra o XSD e devolve cada erro com o caminho do campo.