Skip to main content

Description

Lib created in order to sign XML content for SOAP Envelops when a signature is required. This library is intended to be used within WebServices that require certificate signature values inside the XML body. Pure Python coded. Its features consist in extracting .CERT or .PEM files and PrivateKeys to add values on Signatures elements as SignatureValue and X509Certificate with rsa-sha1 encryption type, compliant with http://www.w3.org/2000/09/xmldsig. Sign a XML file or buffered string using A1 or A3 certificate, PKCS1_v1_5 supported by RFC3447. It serializes the data to request SOAP RPC services. Creates POST requests on WebServices as NFe and NFSe.

Table of Contents

made-with-python Build Status Coverage Status PyPI license


Installation

Pip install

  • Firstly, install library with pip:
pip install starkbank-nfe

  • Or clone this repo and install library:
git clone https://github.com/starkbank/nfe
python setup.py install

Features

Using the following libs:

  • lxml, pyCrypto, requests, ssl, rsa

Usage

Using this lib:

We can create a new Rps, Consult Nfes and Cancel Nfes
# coding: utf-8
from gateways.saopaulo import SaopauloGateway

certificateContent = open("./certificate.crt", "rb").read()
privateKeyContent = open("./rsaKey.pem").read()

###Create Nfe:

nota = {
    "CPFCNPJRemetente": "01234567890987",
    "InscricaoPrestador":  "01234567",
    "SerieRPS": "TESTE",
    "NumeroRPS": "9117092019",
    "TipoRPS": "RPS",
    "DataEmissao": "2019-07-09",
    "StatusRPS": "N",
    "TributacaoRPS": "T",
    "ValorServicos": "1",
    "ValorDeducoes": "0",
    "ValorPIS": "0",
    "ValorIR": "0",
    "ValorCSLL": "0",
    "ValorCOFINS": "0",
    "ValorINSS": "0",
    "CodigoServico": "05895",
    "AliquotaServicos": "2",
    "ISSRetido": "false",
    "CPFCNPJTomador": "01234567654321",
    "RazaoSocialTomador": "SOME COMPANY NAME",
    "Logradouro": "Rua Um",
    "NumeroEndereco": "123",
    "ComplementoEndereco": "Centro",
    "Bairro": "Vila Unica",
    "Cidade": "3550308",
    "UF": "SP",
    "CEP": "00000000",
    "EmailTomador": "none@none.com",
    "Discriminacao": "Teste de emissao de NFS-e de boletos prestados",
}

print(SaopauloGateway.sendRps(
    privateKeyContent=privateKeyContent,
    certificateContent=certificateContent,
    **nota
))

###How to delete a Nfe:

nota = {
    "CPFCNPJRemetente": "01234567890123",
    "InscricaoPrestador": "01234567",
    "NumeroNFe": "001"
}

print(SaopauloGateway.cancelRps(
    privateKeyContent=privateKeyContent,
    certificateContent=certificateContent,
    **nota
))

###Consult sent Nfes

parameters = {
    "CPFCNPJRemetente": "01234567890123",
    "InscricaoPrestador": "01234567",
    "dtInicio": "2019-09-15",
    "dtFim": "2019-09-18",
}

print(SaopauloGateway.consultNfes(
    privateKeyContent=privateKeyContent,
    certificateContent=certificateContent,
    **parameters
))

Contributing

Get started

  • Step 1

    • 🍴 Fork this repo!
  • Step 2

    • 🔨🔨 Clone this repo to your local machine using https://github.com/starkbank/nfe
  • Step 3


Support

Reach out to me at one of the following places!


License

PyPI license

Metadata

Release files for starkbank-nfe 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for starkbank-nfe 0.1.4
File Size Uploaded
starkbank-nfe-0.1.4.tar.gz 22.8 kB Details

Release files / starkbank-nfe-0.1.4.tar.gz

Download URL starkbank-nfe-0.1.4.tar.gz
Size 22.8 kB
Tags Source
SHA-256 checksum
How to use checksums
81aff245eafe3704f8e7c0fc0d68fcf6047d75f6e80aee1ecf86bf1f66a106ce
BLAKE2b-256 checksum
How to use checksums
ee56e9b5a36d76d2a6a8fd38f077d631a1d768efc12cf56114c3f22a089f6b25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release history Release notifications | RSS feed

0.1.5

1 release file

This release

0.1.4 This release

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page