Módulo satcfe.entidades¶
-
class
satcfe.entidades.CFeCancelamento(destinatario=None, **kwargs)¶ Representa um CF-e de cancelamento.
Parâmetros: - destinatario (Destinatario) – Opcional. Uma instância de
Destinatariocontendo apenas os dados exigidos para a operação de cancelamento (ie.CPFouCNPJdo destinatário). - chCanc (str) – Chave de acesso do CF-e a ser cancelado. Deve ser
precedido do literal
CFeseguido dos quarenta e quatro dígitos que compõem a chave de acesso. - CNPJ (str) – CNPJ da software house, desenvolvedora do aplicativo comercial, contendo apenas os dígitos do número e incluindo zeros não significativos, se for o caso (14 dígitos).
- signAC (str) – Assinatura do aplicativo comercial (344 dígitos).
- numeroCaixa (int) – Número do caixa ao qual o SAT está conectado.
Normalmente este será o número do caixa de onde parte a solicitação de
cancelamento. Deverá ser um número inteiro entre
0e999.
-
destinatario¶ O
DestinatarioouNone.
- destinatario (Destinatario) – Opcional. Uma instância de
-
class
satcfe.entidades.CFeVenda(emitente=None, destinatario=None, entrega=None, detalhamentos=None, descontos_acrescimos_subtotal=None, pagamentos=None, informacoes_adicionais=None, **kwargs)¶ Representa um CF-e de venda.
Parâmetros: - emitente (Emitente) – Identificação do emitente do CF-e.
- destinatario (Destinatario) – Opcional. Identificação do destinatário.
- entrega (LocalEntrega) – Opcional. Informações do local de entrega.
- detalhamentos (list) – Uma lista de objetos
ProdutoServicoque representam os produtos/serviços participantes do CF-e de venda. - descontos_acrescimos_subtotal (DescAcrEntr) – Opcional. Se informado,
deverá ser um objeto
DescAcrEntrque contenha o valor de desconto ou acréscimo sobre o subtotal. - pagamentos (list) – Uma lista de objetos
MeioPagamentoque descrevem cada um dos meios de pagamentos usados no CF-e de venda. - informacoes_adicionais (InformacoesAdicionais) – Opcional.
- versaoDadosEnt (str) – Opcional. String contendo a versão do layout
do arquivo de dados do aplicativo comercial. Se não informado será
utilizado o valor da constante
VERSAO_LAYOUT_ARQUIVO_DADOS_ACdo móduloconstantesdo projeto ``satcomum` <https://github.com/base4sistemas/satcomum/>`_ - CNPJ (str) – CNPJ da software house, desenvolvedora do aplicativo comercial, contendo apenas os dígitos do número e incluindo zeros não significativos, se for o caso (14 dígitos).
- signAC (str) – Assinatura do aplicativo comercial (344 dígitos).
- numeroCaixa (int) – Número do caixa ao qual o SAT está conectado.
Normalmente este será o número do caixa de onde parte a solicitação de
cancelamento. Deverá ser um número inteiro entre
0e999. - vCFeLei12741 (Decimal) – Opcional. Se informado deve representar a soma total dos valores aproximados dos tributos, em cumprimento à Lei nº 12.741/2012.
..note:
Não há uma classe específica para representar o elemento ``ide`` do grupo ``B01``, já que todos os seus atributos são esperados nesta classe.
-
descontos_acrescimos_subtotal¶ Os descontos e acréscimos no subtotal do CF-e (
DescAcrEntr) ouNone.
-
destinatario¶ O
Destinatariodo CF-e ouNone.
-
detalhamentos¶ Lista de objetos
Detalhamento, descrevendo os produtos e serviços do CF-e.
-
entrega¶ O Local de entrega (
LocalEntrega) ouNone.
-
informacoes_adicionais¶ Informações adicionais do CF-e (
InformacoesAdicionais) ouNone.
-
pagamentos¶ Lista de objetos :class`MeioPagamento`, descrevendo os meios de pagamento empregados na quitação do CF-e.
-
class
satcfe.entidades.COFINSAliq(**kwargs)¶ Grupo de COFINS tributado pela alíquota, CST 01, 02 ou 05 (
COFINSAliq, grupoS02).Parâmetros: - CST (str) –
- vBC (Decimal) –
- pCOFINS (Decimal) –
-
class
satcfe.entidades.COFINSNT(**kwargs)¶ Grupo de COFINS não tributado, CST 04, 06, 07 08 ou 09 (
COFINSNT, grupoS04).Parâmetros: CST (str) –
-
class
satcfe.entidades.COFINSOutr(**kwargs)¶ Grupo de COFINS para outras operações, CST 99 (
COFINSOutr, grupoS06).Parâmetros: - CST (str) –
- vBC (str) – Opcional. Se informado deverá ser também informado o
parâmetro
pCOFINS. - pCOFINS (str) – Opcional. Se informado deverá ser também informado o
parâmetro
vBC. - qBCProd (str) – Opcional. Se informado deverá ser também informado o
parâmetro
vAliqProd. - vAliqProd (str) – Opcional. Se informado deverá ser também informado o
parâmetro
qBCProd.
Nota
Os parâmetros
vBCeqBCProdsão mutuamente exclusivos, e um ou outro devem ser informados.
-
class
satcfe.entidades.COFINSQtde(**kwargs)¶ Grupo de COFINS tributado por quantidade, CST 03 (
COFINSQtde, grupoS03).Parâmetros: - CST (str) –
- qBCProd (Decimal) –
- vAliqProd (Decimal) –
-
class
satcfe.entidades.COFINSSN(**kwargs)¶ Grupo de COFINS para contribuíntes do Simples Nacional, CST 49 (
COFINSSN, grupoS05).Parâmetros: CST (str) –
-
class
satcfe.entidades.COFINSST(**kwargs)¶ Grupo de COFINS substituição tributária (
COFINSST, grupoT01).Parâmetros: - vBC (str) – Opcional. Se informado deverá ser também informado o
parâmetro
pCOFINS. - pCOFINS (str) – Opcional. Se informado deverá ser também informado o
parâmetro
vBC. - qBCProd (str) – Opcional. Se informado deverá ser também informado o
parâmetro
vAliqProd. - vAliqProd (str) – Opcional. Se informado deverá ser também informado o
parâmetro
qBCProd.
Nota
Os parâmetros
vBCeqBCProdsão mutuamente exclusivos, e um ou outro **devem ser informados.- vBC (str) – Opcional. Se informado deverá ser também informado o
parâmetro
-
class
satcfe.entidades.DescAcrEntr(**kwargs)¶ Grupo de valores de entrada de desconto/acréscimo sobre subtotal (
DescAcrEntr, grupoW19).Parâmetros: - vDescSubtot (Decimal) – Valor de entrada de desconto sobre subtotal.
Se este argumento for informado, então o argumento
vAcresSubtotnão deve ser informado. - vAcresSubtot (Decimal) – Valor de entrada de acréscimo sobre subtotal.
Se este argumento for informado, então o argumento
vDescSubtotnão deve ser informado.
- vDescSubtot (Decimal) – Valor de entrada de desconto sobre subtotal.
Se este argumento for informado, então o argumento
-
class
satcfe.entidades.Destinatario(**kwargs)¶ Identificação do destinatário do CF-e (
dest, grupoE01).Parâmetros: - CNPJ (str) – Número do CNPJ do destinatário, contendo apenas os digitos e incluindo os zeros não significativos. Não deve ser informado se o ``CPF`` for informado.
- CPF (str) – Número do CPF do destinatário, contendo apenas os digitos e incluindo os zeros não significativos. Não deve ser informado se o ``CNPJ`` for informado.
- xNome (str) – Opcional. Nome ou razão social do destinatário. O nome do destinatário será ignorado no XML do CF-e de cancelamento.
-
class
satcfe.entidades.Detalhamento(produto=None, imposto=None, **kwargs)¶ Detalhamento do produto ou serviço do CF-e (
det, grupoH01).Parâmetros: - produto (ProdutoServico) – Produto ou serviço, como uma instância
de
ProdutoServicoao qual o detalhamento se refere. - imposto (Imposto) – O grupo de tributos incidentes no produto ou
serviço ao qual o detalhamento se refere, como uma instância
de
Imposto. - infAdProd (str) – Opcional. Informações adicionais do produto ou serviço (norma referenciada, informações complementares, etc).
Nota
O atributo XML
nItem(H02) não é determinado aqui, mas atribuído automaticamente, conforme a sua posição na lista dedetalhamentos.- produto (ProdutoServico) – Produto ou serviço, como uma instância
de
-
class
satcfe.entidades.Emitente(**kwargs)¶ Identificação do emitente do CF-e (
emit, grupoC01).Parâmetros: - CNPJ (str) – Número do CNPJ do emitente do CF-e, contendo apenas os digitos e incluindo os zeros não significativos.
- IE (str) – Número de Inscrição Estadual do emitente do CF-e, contendo apenas digitos.
- IM (str) – Opcional. Deve ser informado o número da Inscrição Municipal quando o CF-e possuir itens com prestação de serviços sujeitos ao ISSQN, por exemplo.
- cRegTribISSQN (str) – Opcional. Indica o regime especial de
tributação do ISSQN. Veja as constantes em
C15_CREGTRIBISSQN_EMIT. - indRatISSQN (str) – Opcional. Indicador de rateio do desconto sobre o
subtotal entre itens sujeitos à tributação pelo ISSQN. Veja as
constantes em
C16_INDRATISSQN_EMIT.
-
class
satcfe.entidades.Entidade(schema={}, validator_class=None, **kwargs)¶ Classe base para todas as classes que representem as entidades da implementação do SAT-CF-e. Aqui, chamaremos de “entidade” as classes que representem os grupos de dados que são usados para formar o XML do CF-e de venda ou de cancelamento.
Basicamente, as subclasses precisam sobrescrever a implementação do método
_construir_elemento_xml, definir o atributo_schemae, quando necessário, implementar uma especialização do validador no atributo_validator_class.-
documento(*args, **kwargs)¶ Resulta no documento XML como string, que pode ou não incluir a declaração XML no início do documento.
-
-
class
satcfe.entidades.ExtendedValidator(*args, **kwargs)¶ Validator class. Normalizes and/or validates any mapping against a validation-schema which is provided as an argument at class instantiation or upon calling the
validate(),validated()ornormalized()method. An instance itself is callable and executes a validation.All instantiation parameters are optional.
There are the introspective properties
types,validators,coercers,default_setters,rules,normalization_rulesandvalidation_rules.The attributes reflecting the available rules are assembled considering constraints that are defined in the docstrings of rules’ methods and is effectively used as validation schema for
schema.Parâmetros: - schema (any mapping) – See
schema. Defaults toNone. - ignore_none_values (
bool) – Seeignore_none_values. Defaults toFalse. - allow_unknown (
boolor any mapping) – Seeallow_unknown. Defaults toFalse. - require_all (
bool) – Seerequire_all. Defaults toFalse. - purge_unknown (
bool) – Seepurge_unknown. Defaults to toFalse. - purge_readonly (
bool) – Removes all fields that are defined asreadonlyin the normalization phase. - error_handler (class or instance based on
BaseErrorHandlerortuple) – The error handler that formats the result oferrors. When given as two-value tuple with an error-handler class and a dictionary, the latter is passed to the initialization of the error handler. Default:BasicErrorHandler.
- schema (any mapping) – See
-
class
satcfe.entidades.ICMS00(**kwargs)¶ Grupo de tributação do ICMS 00, 20 e 90 (
ICMS00, grupoN02).Parâmetros:
-
class
satcfe.entidades.ICMS40(**kwargs)¶ Grupo de tributação do ICMS 40, 41 e 60 (
ICMS40, grupoN03).Parâmetros:
-
class
satcfe.entidades.ICMSSN102(**kwargs)¶ Grupo de tributação do ICMS Simples Nacional, CSOSN 102, 300, 400 e 500 (
ICMSSN102, grupoN04).Parâmetros:
-
class
satcfe.entidades.ICMSSN900(**kwargs)¶ Grupo de tributação do ICMS Simples Nacional, CSOSN 900 (
ICMSSN900, grupoN05).Parâmetros:
-
class
satcfe.entidades.ISSQN(**kwargs)¶ Grupo do ISSQN (
ISSQN, grupoU01).Parâmetros:
-
class
satcfe.entidades.Imposto(icms=None, pis=None, pisst=None, cofins=None, cofinsst=None, issqn=None, **kwargs)¶ Grupo de tributos incidentes no produto ou serviço (
imposto, grupoM01).Parâmetros: - icms – Opcional. Deve ser uma instância de uma das classes dos
grupos de ICMS (
ICMS00,ICMS40,ICMSSN102ouICMSSN900) se o item for um produto tributado pelo ICMS ouNoneem caso contrário. - pis – Deve ser uma instância de uma das classes dos grupos de
PIS (
PISAliq,PISQtde,PISNT,PISSNouPISOutr). - pisst – Opcional. Instância de
PISSTouNone. - cofins – Deve ser uma instância de uma das classes dos grupos
de COFINS (
COFINSAliq,COFINSQtde,COFINSNT,COFINSSNouCOFINSOutr). - cofinsst – Opcional. Instância de
COFINSSTouNone. - issqn – Opcional. Uma instância de
ISSQNse o item for um serviço tributado pelo ISSQN ouNoneem caso contrário. - vItem12741 (Decimal) – Opcional. Valor aproximado dos tributos do produto ou serviço, conforme a Lei 12.741/12.
-
cofins¶ Um dos grupos de COFINS (
COFINSAliq,COFINSQtde,COFINSNT,COFINSSNouCOFINSOutr).
-
icms¶ Um dos grupos de ICMS (
ICMS00,ICMS40,ICMSSN102ouICMSSN900) se o item for um produto tributado pelo ICMS ouNoneem caso contrário.
- icms – Opcional. Deve ser uma instância de uma das classes dos
grupos de ICMS (
-
class
satcfe.entidades.InformacoesAdicionais(**kwargs)¶ Grupo de informações adicionais (
infAdic, grupoZ01).Parâmetros: infCpl (str) – Opcional.
-
class
satcfe.entidades.LocalEntrega(**kwargs)¶ Identificação do Local de Entrega (
entrega, grupoG01).Parâmetros:
-
class
satcfe.entidades.MeioPagamento(**kwargs)¶ Meio de pagamento (
MP, grupoWA02).Parâmetros:
-
class
satcfe.entidades.ObsFiscoDet(**kwargs)¶ Grupo do campo de uso livre do Fisco (
obsFiscoDet, grupoI17).Parâmetros:
-
class
satcfe.entidades.PISAliq(**kwargs)¶ Grupo de PIS tributado pela alíquota, CST 01, 02 ou 05 (
PISAliq, grupoQ02).Parâmetros: - CST (str) –
- vBC (Decimal) –
- pPIS (Decimal) –
-
class
satcfe.entidades.PISNT(**kwargs)¶ Grupo de PIS não tributado, CST 04, 06, 07 08 ou 09 (
PISNT, grupoQ04).Parâmetros: CST (str) –
-
class
satcfe.entidades.PISOutr(**kwargs)¶ Grupo de PIS para outras operações, CST 99 (
PISOutr, grupoQ06).Parâmetros: - CST (str) –
- vBC (str) – Opcional. Se informado deverá ser também informado o
parâmetro
pPIS. - pPIS (str) – Opcional. Se informado deverá ser também informado o
parâmetro
vBC. - qBCProd (str) – Opcional. Se informado deverá ser também informado o
parâmetro
vAliqProd. - vAliqProd (str) – Opcional. Se informado deverá ser também informado o
parâmetro
qBCProd.
Nota
Os parâmetros
vBCeqBCProdsão mutuamente exclusivos, e um ou outro devem ser informados.
-
class
satcfe.entidades.PISQtde(**kwargs)¶ Grupo de PIS tributado por quantidade, CST 03 (
PISQtde, grupoQ03).Parâmetros: - CST (str) –
- qBCProd (Decimal) –
- vAliqProd (Decimal) –
-
class
satcfe.entidades.PISSN(**kwargs)¶ Grupo de PIS para contribuíntes do Simples Nacional, CST 49 (
PISSN, grupoQ05).Parâmetros: CST (str) –
-
class
satcfe.entidades.PISST(**kwargs)¶ Grupo de PIS substituição tributária (
PISST, grupoR01).Parâmetros: - vBC (str) – Opcional. Se informado deverá ser também informado o
parâmetro
pPIS. - pPIS (str) – Opcional. Se informado deverá ser também informado o
parâmetro
vBC. - qBCProd (str) – Opcional. Se informado deverá ser também informado o
parâmetro
vAliqProd. - vAliqProd (str) – Opcional. Se informado deverá ser também informado o
parâmetro
qBCProd.
Nota
Os parâmetros
vBCeqBCProdsão mutuamente exclusivos, e um ou outro devem ser informados.- vBC (str) – Opcional. Se informado deverá ser também informado o
parâmetro
-
class
satcfe.entidades.ProdutoServico(observacoes_fisco=None, **kwargs)¶ Produto ou serviço do CF-e (
prod, grupoI01).Parâmetros: - cProd (str) –
- cEAN (str) – Opcional.
- xProd (str) –
- NCM (str) – Opcional.
- CFOP (str) –
- uCom (str) –
- qCom (Decimal) –
- vUnCom (Decimal) –
- indRegra (str) –
- vDesc (Decimal) – Opcional.
- vOutro (Decimal) – Opcional.
- observacoes_fisco (list) – Opcional. Lista de objetos
ObsFiscoDetrepresentando os campos de uso livre do fisco.