This project is about SAT-CF-e which is a system for autorization and transmission of fiscal documents, developed by Finance Secretary of state of São Paulo, Brazil. This entire project, variables, methods and class names, as well as documentation, are written in brazilian portuguese.
Refer to the oficial web site for more information (in brazilian portuguese only).
Este projeto refere-se à tecnologia SAT-CF-e desenvolvida pela Secretaria da Fazenda do Estado de São Paulo e faz parte de um grupo de cinco projetos que resolvem problemas específicos, mas relacionados.
Especificamente, este projeto é uma abstração que fornece acesso às funções da biblioteca SAT, que é fornecida pelos fabricantes de equipamentos SAT. Para maiores informações, consulte a documentação do projeto.
Se estiver procurando meios para emitir um extrato do CF-e-SAT, o Projeto SATExtrato pode ajudar.
Este é um exemplo básico de uso, para consultar o equipamento SAT:
>>> from satcfe import BibliotecaSAT
>>> from satcfe import ClienteSATLocal
>>> cliente = ClienteSATLocal(BibliotecaSAT('/caminho/para/sat.dll'),
... codigo_ativacao='12345678')
...
>>> resposta = cliente.consultar_sat()
>>> resposta.mensagem
u'SAT em Opera\xe7\xe3o'
É possível executar os testes contra qualquer equipamento SAT, em qualquer plataforma ou arquitetura, desde que você possua um kit de desenvolvimento, contendo o equipamento SAT e as bibliotecas do fabricante.
Para executar os testes em um ambiente Linux é preciso definir algumas variáveis de ambiente para configurar o acesso à biblioteca SAT fornecida pelo fabricante do equipamento, o código de ativação e o Estado do domicílio fiscal em que o equipamento SAT está registrado.
$ export SATCFE_TEST_LIB=/opt/fabricante/libsat.so
$ export SATCFE_TEST_LIB_CONVENCAO=1
$ export SATCFE_TEST_CODIGO_ATIVACAO=12345678
$ export SATCFE_TEST_UF=SP
Antes de executar os testes propriamente, é conveniente revisar a parametrização
no script runtests.sh
que, dependendo do seu equipamento SAT, os valores
para configuração dos dados do emitente e outros dados podem variar.
$ ./runtests.sh tanca
As opções de parametrização dos testes são:
--codigo-ativacao
- Código de ativação configurado no equipamento SAT.
--numero-caixa
- Número do caixa de origem.
--assinatura-ac
- Conteúdo da assinatura da AC.
--cnpj-ac
- CNPJ da empresa desenvolvedora da AC (apenas dígitos).
--emitente-cnpj
- CNPJ do estabelecimento emitente (apenas dígitos).
--emitente-ie
- Inscrição estadual do emitente (apenas dígitos).
--emitente-im
- Inscrição municipal do emitente (apenas dígitos).
--emitente-uf
- Sigla da unidade federativa do estabelecimento emitente.
--emitente-issqn-regime
- Regime especial de tributação do ISSQN do emitente, em casos detestes de emissão de venda e/ou cancelamento.
--emitente-issqn-rateio
- Indicador de rateio do desconto sobre o subtotal para produtostributados no ISSQN do emitente, em casos de testes de emissão devenda e/ou cancelamento.
--lib-caminho
- Caminho para a biblioteca SAT.
--lib-convencao
- Convenção de chamada para a biblioteca SAT.
--skip-funcoes-sat
- Ignora testes de todas as funções SAT evitando qualquer acesso aoequipamento.
--skip-[funcao]
- Permite evitar a execução de testes para uma função em particular,substituindo
[funcao]
pelo nome da função SAT em letras minúsculas,por exemplo, para evitar a execução da funçãoConsultarSAT
use--skip-consultarsat
.
Se não quiser usar o script runtests.sh
ou se estiver usando um ambiente
Windows, poderá invocar a execução dos testes manualmente, por exemplo:
C> python setup.py test -a "--cnpj-ac=01234567000199 ..."