Skip to main content

Build Status codecov PyPI

brazil-fiscal-client

A simple, modern and well tested SOAP client for the Brazilian Fiscal Authority.

This client is designed to be inherited by specialized clients such as for electronic invoicing (NFe). But with some extra boiler plate code to deal with the SOAP enveloppe, it can still be used alone as you can see in the usage section below.

It uses xsdata for the databinding and it overrides its SOAP client

Installation

pip install brazil-fiscal-client

Usage

For instance, with an appropriate pkcs12 certificate, you can query the NFe server status (remember specialized clients make all this simpler):

from brazil_fiscal_client.fiscal_client import FiscalClient
from tests.fixtures.nfestatusservico4 import NfeStatusServico4SoapNfeStatusServicoNf
from nfelib.nfe.bindings.v4_0.cons_stat_serv_v4_00 import ConsStatServ
from nfelib.nfe.bindings.v4_0.ret_cons_stat_serv_v4_00 import RetConsStatServ

ambiente = "2"
path_to_your_pkcs12_certificate = "/path_to_your_certificate/pkcs12_certificate.p12"
certificate_password = "your_certificate_password"

with open(path_to_your_pkcs12_certificate, "rb") as pkcs12_buffer:
    pkcs12_data = pkcs12_buffer.read()

client = FiscalClient(
    ambiente=ambiente,
    versao="4.00",
    pkcs12_data=pkcs12_data,
    pkcs12_password=your_certificate_password,
)

result = client.send(
    NfeStatusServico4SoapNfeStatusServicoNf,
    "https://nfe-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx",
    {
        "Body": {
            "nfeDadosMsg": {
                "content": [
                    ConsStatServ(
                        tpAmb="2",
                        cUF="42",
                        xServ="STATUS",
                        versao="4.00",
                    ),
                ]
            }
        }
    },
)

>>> result.body.nfeResultMsg.content[0]
RetConsStatServ(tpAmb=<Tamb.VALUE_2: '2'>, verAplic='SVRS202401251654', cStat='107', xMotivo='Servico SVC em Operacao', cUF=<TcodUfIbge.VALUE_42: '42'>, dhRecbto='2024-04-01T16:18:03-03:00', tMed='1', dhRetorno=None, xObs=None, versao='4.00')
>>> result.body.nfeResultMsg.content[0].cStat
'107'

Notice this example uses the ConsStatServ and RetConsStatServ bindings from nfelib. In this example NfeStatusServico4SoapNfeStatusServicoNf has been generated from a previously downloaded wsdl file and using the WSDL xsdata generator. All this is usually done in the specialized clients that override this base brazil-fiscal-clientSOAP client.

Metadata

Release files for brazil-fiscal-client 0.3.0

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

Source distribution (sdist)

Source distribution for brazil-fiscal-client 0.3.0
File Size Uploaded
brazil_fiscal_client-0.3.0.tar.gz 12.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for brazil-fiscal-client 0.3.0
File Interpreter ABI Platform
brazil_fiscal_client-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 20.4 kB

Release files / brazil_fiscal_client-0.3.0.tar.gz

Download URL brazil_fiscal_client-0.3.0.tar.gz
Size 12.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c5a59a38db141accdf9f03b6425a1ae9975327388579905b607a632d8e890324
BLAKE2b-256 checksum
How to use checksums
9d4a8953bd17891641e4a0677e7869f66c205b082bc87e062be75221ed3cdbe2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 26, 2025.

Transparency log

Release files / brazil_fiscal_client-0.3.0-py3-none-any.whl

Download URL brazil_fiscal_client-0.3.0-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a6ce7c8a9bc72dc0e8e7af69d8add25e90266d3def9a4078566263f192c62603
BLAKE2b-256 checksum
How to use checksums
3e18d70b9f056131b7c6bd7b2a483cd97980603497c55fb10f7f0a8ff3e1d3a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 26, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

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