# NAV Online Számla Python Client
A Python client library for the Hungarian NAV (National Tax and Customs Administration) Online Invoice API.
**⚠️ This project is currently in progress and not yet production-ready. Use at your own risk.**
## Installation
```bash
pip install nav-online-szamla
```
## Usage
```python
from nav_online_szamla import (
NavOnlineInvoiceClient, NavCredentials,
InvoiceDirection, QueryInvoiceDigestRequest,
MandatoryQueryParams, InvoiceQueryParams, DateTimeRange
)
from datetime import datetime
# Create credentials
credentials = NavCredentials(
login="your_nav_login",
password="your_nav_password",
signer_key="your_signer_key",
tax_number="your_tax_number"
)
# Create API request
request = QueryInvoiceDigestRequest(
page=1,
invoice_direction=InvoiceDirection.OUTBOUND,
invoice_query_params=InvoiceQueryParams(
mandatory_query_params=MandatoryQueryParams(
ins_date=DateTimeRange(
date_time_from="2024-01-01T00:00:00.000Z",
date_time_to="2024-01-31T23:59:59.999Z"
)
)
)
)
# Query invoices
with NavOnlineInvoiceClient() as client:
try:
response = client.query_invoice_digest(credentials, request)
for digest in response.invoice_digests:
print(f"Invoice: {digest.invoice_number}")
print(f"Supplier: {digest.supplier_tax_number}")
print(f"Amount: {digest.invoice_net_amount}")
except Exception as e:
print(f"Error: {e}")
```
## Contributing
We welcome contributions! Here's how you can help:
1. **Create a branch** from main for your feature or fix
2. **Make your changes** with clear, descriptive commit messages
3. **Add tests** for any new functionality
4. **Ensure all tests pass** by running the test suite
5. **Submit a Pull Request** with a clear description of your changes
### Development Guidelines
- Follow existing code style and patterns
- Write clear docstrings for new functions/classes
- Update README if adding new features
- Handle XML namespace inconsistencies properly (see existing code)
## License
This project is licensed under the MIT License.
Raw data
{
"_id": null,
"home_page": "https://github.com/FXL-Lab/nav-online-szamla",
"name": "nav-online-szamla",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "nav, online, szamla, hungarian, invoice, tax",
"author": "Gergo Emmert",
"author_email": "gergo.emmert@fxltech.com",
"download_url": "https://files.pythonhosted.org/packages/77/ca/ee9aa737174ad99a76af0700f21a5b43b1cebba16f54e4fda0e617be1fd4/nav_online_szamla-0.0.6.tar.gz",
"platform": null,
"description": "# NAV Online Sz\u00e1mla Python Client\n\nA Python client library for the Hungarian NAV (National Tax and Customs Administration) Online Invoice API.\n\n**\u26a0\ufe0f This project is currently in progress and not yet production-ready. Use at your own risk.**\n\n## Installation\n\n```bash\npip install nav-online-szamla\n```\n\n## Usage\n\n```python\nfrom nav_online_szamla import (\n NavOnlineInvoiceClient, NavCredentials, \n InvoiceDirection, QueryInvoiceDigestRequest, \n MandatoryQueryParams, InvoiceQueryParams, DateTimeRange\n)\nfrom datetime import datetime\n\n# Create credentials\ncredentials = NavCredentials(\n login=\"your_nav_login\",\n password=\"your_nav_password\", \n signer_key=\"your_signer_key\",\n tax_number=\"your_tax_number\"\n)\n\n# Create API request\nrequest = QueryInvoiceDigestRequest(\n page=1,\n invoice_direction=InvoiceDirection.OUTBOUND,\n invoice_query_params=InvoiceQueryParams(\n mandatory_query_params=MandatoryQueryParams(\n ins_date=DateTimeRange(\n date_time_from=\"2024-01-01T00:00:00.000Z\",\n date_time_to=\"2024-01-31T23:59:59.999Z\"\n )\n )\n )\n)\n\n# Query invoices\nwith NavOnlineInvoiceClient() as client:\n try:\n response = client.query_invoice_digest(credentials, request)\n \n for digest in response.invoice_digests:\n print(f\"Invoice: {digest.invoice_number}\")\n print(f\"Supplier: {digest.supplier_tax_number}\")\n print(f\"Amount: {digest.invoice_net_amount}\")\n \n except Exception as e:\n print(f\"Error: {e}\")\n```\n\n## Contributing\n\nWe welcome contributions! Here's how you can help:\n\n1. **Create a branch** from main for your feature or fix\n2. **Make your changes** with clear, descriptive commit messages\n3. **Add tests** for any new functionality\n4. **Ensure all tests pass** by running the test suite\n5. **Submit a Pull Request** with a clear description of your changes\n\n### Development Guidelines\n\n- Follow existing code style and patterns\n- Write clear docstrings for new functions/classes\n- Update README if adding new features\n- Handle XML namespace inconsistencies properly (see existing code)\n\n## License\n\nThis project is licensed under the MIT License.",
"bugtrack_url": null,
"license": null,
"summary": "NAV Online Sz\u00e1mla",
"version": "0.0.6",
"project_urls": {
"Documentation": "https://github.com/FXL-Lab/nav-online-szamla#readme",
"Homepage": "https://github.com/FXL-Lab/nav-online-szamla",
"Repository": "https://github.com/FXL-Lab/nav-online-szamla"
},
"split_keywords": [
"nav",
" online",
" szamla",
" hungarian",
" invoice",
" tax"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f337be0ff6079689e2b940a85b4eb7e1837fced32e64bac8d7b097552150bea1",
"md5": "40ba040ba4efbd03ed9ded642e158eca",
"sha256": "30f8b733430273e5b5d8e28d5fca33860df144e08c6b743e27a8e964338db071"
},
"downloads": -1,
"filename": "nav_online_szamla-0.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "40ba040ba4efbd03ed9ded642e158eca",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 23713,
"upload_time": "2025-08-07T11:12:27",
"upload_time_iso_8601": "2025-08-07T11:12:27.302891Z",
"url": "https://files.pythonhosted.org/packages/f3/37/be0ff6079689e2b940a85b4eb7e1837fced32e64bac8d7b097552150bea1/nav_online_szamla-0.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "77caee9aa737174ad99a76af0700f21a5b43b1cebba16f54e4fda0e617be1fd4",
"md5": "5af5166471a375efa2a183feb935da4e",
"sha256": "0a0b285cc532242f93ca34039b7201aa1e93c24cc39367b0aa8a921de2275ad4"
},
"downloads": -1,
"filename": "nav_online_szamla-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "5af5166471a375efa2a183feb935da4e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 21531,
"upload_time": "2025-08-07T11:12:28",
"upload_time_iso_8601": "2025-08-07T11:12:28.443805Z",
"url": "https://files.pythonhosted.org/packages/77/ca/ee9aa737174ad99a76af0700f21a5b43b1cebba16f54e4fda0e617be1fd4/nav_online_szamla-0.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-07 11:12:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "FXL-Lab",
"github_project": "nav-online-szamla",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nav-online-szamla"
}