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

Copy Markdown View Source

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

CampoXMLTipoOcorrênciaDescrição
tp_ambtpAmbTSTipoAmbiente1Identificação do Ambiente: 1 - Produção; 2 - Homologação
dh_emidhEmiTSDateTimeUTC1Data e hora da emissão do DPS. Data e hora no formato UTC (Universal Coordinated Time): AAAA-MM-DDThh:mm:ssTZD
ver_aplicverAplicTSVerAplic1Versão do aplicativo que gerou o DPS
serieserieTSSerieDPS1Número do equipamento emissor do DPS ou série do DPS
n_dpsnDPSTSNumDPS1Número do DPS
d_competdCompetTSData1Data em que se iniciou a prestação do serviço: Dia, mês e ano (AAAAMMDD)
tp_emittpEmitTSEmitenteDPS1Emitente da DPS: 1 - Prestador; 2 - Tomador; 3 - Intermediário
c_motivo_emis_ticMotivoEmisTITSMotivoEmisTI0..1Motivo da Emissão da DPS pelo Tomador/Intermediário: 1 - Importação de Serviço; 2 - Tomador/Intermediário obrigado a emitir NFS-e por legislação municipal; 3 - Tomador/Intermediário emitindo NFS-e por recusa de emissão pelo prestador; 4 - Tomador/Intermediário emitindo por rejeitar a NFS-e emitida pelo prestador;
ch_nfse_rejchNFSeRejTSChaveNFSe0..1Chave de Acesso da NFS-e rejeitada pelo Tomador/Intermediário.
c_loc_emicLocEmiTSCodMunIBGE1O código de município utilizado pelo Sistema Nacional NFS-e é o código definido para cada município pertencente ao ""Anexo V – Tabela de Código de Municípios do IBGE"", que consta ao final do Manual de Orientação ao Contribuinte do ISSQN para a Sefin Nacional NFS-e. O município emissor da NFS-e é aquele município em que o emitente da DPS está cadastrado e autorizado a "emitir uma NFS-e", ou seja, emitir uma DPS para que o sistema nacional valide as informações nela prestadas e gere a NFS-e correspondente para o emitente. Para que o sistema nacional emita a NFS-e o município emissor deve ser conveniado e estar ativo no sistema nacional. Além disso o convênio do município deve permitir que os contribuintes do município utilize os emissores públicos do Sistema Nacional NFS-e
substsubstNfse.Schema.V1_01.TCSubstituicao0..1Dados da NFS-e a ser substituída
prestprestNfse.Schema.V1_01.TCInfoPrestador1Grupo de informações do DPS relativas ao Prestador de Serviços
tomatomaNfse.Schema.V1_01.TCInfoPessoa0..1Grupo de informações do DPS relativas ao Tomador de Serviços
intermintermNfse.Schema.V1_01.TCInfoPessoa0..1Grupo de informações do DPS relativas ao Intermediário de Serviços
servservNfse.Schema.V1_01.TCServ1Grupo de informações do DPS relativas ao Serviço Prestado
valoresvaloresNfse.Schema.V1_01.TCInfoValores1Grupo de informações relativas à valores do serviço prestado
ibscbsIBSCBSNfse.Schema.V1_01.TCRTCInfoIBSCBS0..1Grupo de informações declaradas pelo emitente referentes ao IBS e à CBS
idId, atributoTSIdDPS1

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.TCInfDPS{
  c_loc_emi: String.t() | nil,
  c_motivo_emis_ti: String.t() | nil,
  ch_nfse_rej: String.t() | nil,
  d_compet: Date.t() | nil,
  dh_emi: DateTime.t() | nil,
  ibscbs: Nfse.Schema.V1_01.TCRTCInfoIBSCBS.t() | nil,
  id: String.t() | nil,
  interm: Nfse.Schema.V1_01.TCInfoPessoa.t() | nil,
  n_dps: String.t() | nil,
  prest: Nfse.Schema.V1_01.TCInfoPrestador.t() | nil,
  serie: String.t() | nil,
  serv: Nfse.Schema.V1_01.TCServ.t() | nil,
  subst: Nfse.Schema.V1_01.TCSubstituicao.t() | nil,
  toma: Nfse.Schema.V1_01.TCInfoPessoa.t() | nil,
  tp_amb: String.t() | nil,
  tp_emit: String.t() | nil,
  valores: Nfse.Schema.V1_01.TCInfoValores.t() | nil,
  ver_aplic: String.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.