Adds a "Data Loading" dialog on Company form that pulls 6 types of taxpayer reference data from E-Taxes into dedicated doctypes, plus in-form summary tables inside the Tax Policy tab. New DocTypes (all with company link, Accounts User read-only, System Manager full CRUD): - E-Taxes Object (taxpayer registered locations) - E-Taxes Cash Register (kassa aparatları with object FK) - E-Taxes POS Terminal (with auto-derived object from registration number) - E-Taxes Bank Account - E-Taxes Obligation Pact (sazişlər / oil fields) - E-Taxes Presented Certificate (with sazis_code FK to Obligation Pact) Backend (invoice_az/company_api.py): - 6 per-doctype loaders + shared _auth_headers / _etaxes_request helpers implementing CLAUDE.md §10 401-retry-once pattern - Cash Register / POS Terminal loaders walk the hasMore pagination - load_company_data_bulk enqueues a background job that runs selected loaders sequentially and streams progress over Socket.IO (company_data_loading_progress / _complete events) - get_company_reference_list exposes first N rows per doctype for the Tax Policy tab tables Frontend (invoice_az/client/company.js): - Full ETaxes auth module inlined (CLAUDE.md §2) so ASAN Imza re-auth works from Company form without relying on other forms' state - "Data Loading" button opens a dialog of checkboxes (DATA_LOADERS declarative array) — one bulk call, one floating show_progress bar - Six reference tables rendered inside Tax Policy tab sections, pattern copied from e-taxes_settings (card-section + Refresh + "View All" only when total > rows) CLAUDE.md: - Rewrote §3 backend template with 401 retry + explicit commit - Added §10–§16: 401 auto-refresh, two response shapes, db.commit() standard, log title convention, frontend unauthorized handling, field naming for reference vs fixture doctypes, Socket.IO background job pattern hooks.py: - Register client/company.js under doctype_js["Company"] .gitignore: - Exclude *.har (may contain Bearer tokens / PII) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| invoice_az | ||
| test_invoice.git | ||
| .editorconfig | ||
| .eslintrc | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| BUGFIX_STATUS_201.md | ||
| BUGFIX_TAX_TYPE.md | ||
| BUGS_VAT_OPERATIONS.md | ||
| CLAUDE.md | ||
| IMPLEMENTATION_COMPLETE.txt | ||
| IMPLEMENTATION_SUMMARY.md | ||
| MIGRATION_GUIDE.md | ||
| PLASTIC_DISPOSAL_IMPLEMENTATION.md | ||
| PROJECT_OVERVIEW.md | ||
| QA_SEND_INVOICE.md | ||
| README.md | ||
| README_TAX_TYPE_FEATURE.md | ||
| TECHNICAL_SPEC_TAX_TYPE.md | ||
| TIRE_DISPOSAL_IMPLEMENTATION.md | ||
| USER_GUIDE_TAX_TYPE.md | ||
| classification_codes.txt | ||
| invoice asan.txt | ||
| invoice.txt | ||
| item_group_codes.txt | ||
| item_group_codes_service.txt | ||
| license.txt | ||
| pyproject.toml | ||
README.md
Invoice Az
This application uploads and downloads invoices from e taxes gov az
Installation
You can install this app using the bench CLI:
cd $PATH_TO_YOUR_BENCH
bench get-app $URL_OF_THIS_REPO --branch develop
bench install-app invoice_az
Contributing
This app uses pre-commit for code formatting and linting. Please install pre-commit and enable it for this repository:
cd apps/invoice_az
pre-commit install
Pre-commit is configured to use the following tools for checking and formatting your code:
- ruff
- eslint
- prettier
- pyupgrade
License
unlicense