Pyafipws
Factura Electrónica AFIP y otros servicios web (proyecto software libre) — Interfases, tools and apps for Argentina's gov't. webservices (soap, com/dll simil-ocx, pdf, dbf, xml, json, etc.) #python
Install / Use
/learn @reingart/PyafipwsREADME
pyafipws
PyAfipWs contains Python modules to operate with web services regarding AFIP (Argentina's "IRS") and other government agencies, mainly related to electronic invoicing, several taxes and traceability.
Copyright 2008 - 2022 (C) Mariano Reingart reingart@gmail.com (creator and maintainter). All rights reserved.
License: LGPLv3+, with "commercial" exception available to include it and distribute with propietary programs
General Information:
- Main Project Site: https://github.com/reingart/pyafipws (git repository)
- User Manual: (http://www.sistemasagiles.com.ar/trac/wiki/ManualPyAfipWs (Spanish)
- Documentation: https://github.com/reingart/pyafipws/wiki (Spanish/English)
- Commercial Support: http://www.sistemasagiles.com.ar/ (Spanish)
- Community Site: http://www.pyafipws.com.ar/ (Spanish)
- Public Forum: http://groups.google.com/group/pyafipws (community support, no-charge "gratis" access)
Project Structure:
- Python library (a helper class for each webservice for easy use of their methods and attributes)
- PyAfipWs: OCX-like Windows Component-Object-Model interface compatible with legacy programming languages (VB, VFP, Delphi, PHP, VB.NET, etc.)
- LibPyAfipWs: DLL/.so compiled shared library (exposing python methods to C/C++/C#)
- Console (command line) tools using simplified input & ouput files (TXT, DBF, JSON)
- PyRece GUI and FacturaLibre WEB apps as complete reference implementations
- Examples for Java, .NET (C#, VB.NET), Visual Basic, Visual Fox Pro, Delphi, C, PHP.
- Minor code fragment samples for SAP (ABAP), PowerBuilder, Fujitsu Net Cobol, Clarion, etc.
- Modules for OpenERP/Odoo - Tryton
Features implemented:
- Supported alternate interchange formats: TXT (fixed lenght COBOL), CSV, DBF (Clipper/xBase/Harbour), XML, JSON, etc.
- Full automation to request authentication and invoice authorization (CAE, COE, etc.)
- Advanced XML manipulation, caching and proxy support.
- Customizable PDF generation and visual designer (CSV templates)
- Email, barcodes (PIL), installation (NSIS), configuration (.INI), debugging and other misc utilities
Web services supported so far:
AFIP:
- WSAA: authorization & authentication, including digital cryptographic signature
- WSFEv1: domestic market (electronic invoice) -English-
- WSMTXCA: domestic market (electronic invoice) -detailing articles and barcodes-
- WSCT: tourism (electronic invoice) -"tax free" VAT refund for tourists-
- WSBFEv1: tax bonus (electronic invoice)
- WSFEXv1: foreign trade (electronic invoice) -English-
- WSCTG: agriculture (grain traceability code)
- WSLPG: agriculture (grain liquidation - invoice)
- WSLTV: agriculture (green tobacco - invoice)
- WSLUM: agriculture (milk - invoice)
- WSLSP: agriculture (cattle/livestock - invoice)
- WSCDC: invoice verification
- Taxpayers' Registe: database to check sellers and buyers register
ARBA:
- COT: Provincial Operation Transport Code (aka electronic Shipping note)
ANMAT/SEDRONAR/SENASA (SNT):
- TrazaMed: National Medical Drug Traceability Program
- TrazaRenpre: Controlled Chemical Precursors Traceability Program
- TrazaFito: Phytosanitary Products Traceability Program
Installation Instructions:
Notes:
- Python 3.9 is recommended for new apps: https://www.python.org/downloads/
- Python 2.7 is still supported for legacy apps but compatibility will be removed soon
You could see the .github directory for detailed workflows and automated commands to build the project.
Quick-Start
These instructions are for Ubuntu/Debian. In Windows you can use PowerShell.
You can download the compressed file: https://github.com/reingart/pyafipws/archive/main.zip and unzip it.
Then install dependencies and the project itself:
pip download https://github.com/reingart/pyafipws/archive/main.zip
python -m zipfile -e main.zip .
cd pyafipws-main
pip install -r requirements.txt --user
python setup.py install
You'll need a digital certificate (.crt) and private key (.key) to authenticate (see certificate generation for more information and instructions). Provisionally, you can use author's testing certificate/key:
wget https://www.sistemasagiles.com.ar/soft/pyafipws/reingart.zip -O reingart.zip
python -m zipfile -e reingart.zip .
You should copy and configure rece.ini to set up paths and URLs:
cp conf/*.ini .
Then, you could execute WSAA script to authenticate (getting Token and Sign)
and WSFEv1 to process an electronic invoice:
python -m pyafipws.wsaa
python -m pyafipws.wsfev1 --prueba
With the last command, you should get the Electronic Autorization Code (CAE) for testing purposes (sample invoice data, do not use in production!).
Virtual environment (testing):
The following commands clone the repository, creates a virtualenv and install the packages there (including the latest versions of the dependencies) to avoid conflicts with other libraries:
git clone https://github.com/reingart/pyafipws.git
cd pyafipws
python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt
Run python setup_win.py py2exe to build in windows and "compile" executables.
See the GitHub Actions for specific steps and more details.
Just execute pytest to run automated Python tests.
For Windows, see tests/powershell directory for Pester tests.
Dependency installation (development):
For SOAP webservices PySimpleSOAP is needed (spin-off of this library, inspired by the PHP SOAP extension):
git clone https://github.com/pysimplesoap/pysimplesoap.git -b stable_py3k
cd pysimplesoap
python setup.py install
Use "stable_py3k" branch reingart (see requirements.txt for more information)
For PDF generation, you will need the PyFPDF (PHP's FPDF library, python port):
git clone https://github.com/reingart/pyfpdf.git
cd pyfpdf
python setup.py install
On Windows, you can see available installers released for evaluation purposes on Download Releases
For more information see the source code installation steps in the wiki
Related Skills
claude-opus-4-5-migration
83.9kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
model-usage
339.3kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
TrendRadar
49.9k⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。
mcp-for-beginners
15.7kThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.
