From 08e31c6815f4275433f2a40dbba4a531773eff92 Mon Sep 17 00:00:00 2001 From: Ali <010109ali@gmail.com> Date: Thu, 14 May 2026 10:57:16 +0000 Subject: [PATCH] =?UTF-8?q?chore:=20use=20native=20Az=C9=99rbaycan=20spell?= =?UTF-8?q?ing=20in=20user-facing=20strings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces "Azeri" / "Azerbaijani" / "Azerbaijan" with the native form "Azərbaycan" in labels, descriptions, comments and docs. Co-Authored-By: Claude Opus 4.7 (1M context) --- CLAUDE.md | 14 +++++++------- PROJECT_OVERVIEW.md | 2 +- README_TAX_TYPE_FEATURE.md | 2 +- TECHNICAL_SPEC_TAX_TYPE.md | 6 +++--- invoice_az/amas_api.py | 6 +++--- invoice_az/api.py | 2 +- invoice_az/client/sales_invoice.js | 2 +- .../doctype/e_taxes_settings/e_taxes_settings.json | 4 ++-- invoice_az/send_purchase_api.py | 4 ++-- invoice_az/send_sales_api.py | 4 ++-- invoice_az/supplier_api.py | 2 +- invoice_az/vat_api.py | 2 +- 12 files changed, 25 insertions(+), 25 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 1a3b739..49aa1f7 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ## Overview -Invoice Az is a Frappe application that integrates with Azerbaijan government systems: +Invoice Az is a Frappe application that integrates with Azərbaycan government systems: **E-Taxes Integration (e-taxes.gov.az):** - Downloading and importing purchase invoices from e-taxes @@ -15,7 +15,7 @@ Invoice Az is a Frappe application that integrates with Azerbaijan government sy - Managing authentication via ASAN Login with automatic token renewal **AMAS Integration (e-social.gov.az):** -- Importing employees from AMAS (Azerbaijan Employment Management System) +- Importing employees from AMAS (Azərbaycan Employment Management System) - MyGovID/ASAN authentication for accessing AMAS - Automatic employee synchronization with ERPNext @@ -586,7 +586,7 @@ bench --site [site-name] console ### Core Modules 1. **Authentication Module** (`invoice_az/auth.py`) - - ASAN Login integration for Azerbaijan government authentication + - ASAN Login integration for Azərbaycan government authentication - Token management with automatic renewal every 4 minutes via cron job - Activity tracking to prevent unnecessary token renewals - Retry logic with exponential backoff for failed requests @@ -609,7 +609,7 @@ bench --site [site-name] console - Customer mapping system (separate from suppliers) - Create Sales Orders and Sales Invoices - E-Taxes Sales tracking records - - Azerbaijani character normalization for matching + - Azərbaycan character normalization for matching 4. **Sales Send API** (`invoice_az/send_sales_api.py`) - Send Sales Invoices to e-taxes system @@ -738,7 +738,7 @@ bench --site [site-name] console - **Bulk Operations**: Support for syncing multiple entities at once - **Batch Processing**: Load reference data from invoices in batches - **Error Handling**: Comprehensive error logging and user-friendly error messages -- **Azerbaijani Support**: Character normalization for Ə, Ü, Ö, Ğ, İ, Ç, Ş characters +- **Azərbaycan Support**: Character normalization for Ə, Ü, Ö, Ğ, İ, Ç, Ş characters - **Two-step Signing**: Create draft invoice/act, then sign with ASAN Imza - **Retry Signing**: Retry signing for failed/pending invoices/acts - **VAT Import**: Import VAT account operations as Journal Entries with configurable account mappings @@ -929,7 +929,7 @@ Supported act types for Purchase Invoices with Individual suppliers: 5. System shows operation selection dialog with columns: - Date, TIN, Name, Operation Type, Classification Code, Amount 6. Creates Journal Entries using account mappings: - - API returns technical operation types (SUB_TO_SUB, etc.) which are mapped to Azerbaijani names + - API returns technical operation types (SUB_TO_SUB, etc.) which are mapped to Azərbaycan names - API returns taxCodeInfo with code (e.g., "114117") and description - Looks up mapping in E-Taxes Settings with priority: - First: operation_type + classification_code (if taxCodeInfo.code exists) @@ -965,7 +965,7 @@ Supported act types for Purchase Invoices with Individual suppliers: ### Workflow: Importing Employees from AMAS -AMAS (e-social.gov.az) is Azerbaijan's Employment Management System maintained by the Ministry of Labour and Social Protection. +AMAS (e-social.gov.az) is Azərbaycan's Employment Management System maintained by the Ministry of Labour and Social Protection. **Prerequisites:** 1. User must have MyGovID authentication (same as ASAN Login) diff --git a/PROJECT_OVERVIEW.md b/PROJECT_OVERVIEW.md index c2ce297..3cb6755 100644 --- a/PROJECT_OVERVIEW.md +++ b/PROJECT_OVERVIEW.md @@ -16,7 +16,7 @@ ## Общая информация -**Название проекта:** Invoice Az (Invoices Azerbaijan) +**Название проекта:** Invoice Az (Invoices Azərbaycan) **Версия:** 0.0.1 **Автор:** Jey ERP (info@jeyerp.az) **Лицензия:** Unlicense (Общественное достояние) diff --git a/README_TAX_TYPE_FEATURE.md b/README_TAX_TYPE_FEATURE.md index 4850c1a..759dba7 100644 --- a/README_TAX_TYPE_FEATURE.md +++ b/README_TAX_TYPE_FEATURE.md @@ -331,7 +331,7 @@ Same as Invoice Az app license. - **CLAUDE.md** - E-Taxes integration patterns (critical patterns documented) - **Invoice Az App** - Main application repository -- **E-Taxes API** - Azerbaijan government tax system +- **E-Taxes API** - Azərbaycan government tax system - **ASAN Imza** - Digital signature system --- diff --git a/TECHNICAL_SPEC_TAX_TYPE.md b/TECHNICAL_SPEC_TAX_TYPE.md index b8833fc..3704c5f 100644 --- a/TECHNICAL_SPEC_TAX_TYPE.md +++ b/TECHNICAL_SPEC_TAX_TYPE.md @@ -630,8 +630,8 @@ frappe.db.commit() | **Agricultural Goods** | Products from agriculture (fruits, vegetables, grains, etc.) | | **Tax Free** | Product exempt from VAT (0% tax rate) | | **Taxable** | Product subject to 5% agricultural tax | -| **E-Taxes** | Azerbaijan government tax reporting system | -| **ASAN Imza** | Digital signature system for Azerbaijan | +| **E-Taxes** | Azərbaycan government tax reporting system | +| **ASAN Imza** | Digital signature system for Azərbaycan | | **Act** | Agricultural product purchase act (document type in E-Taxes) | | **Tax Rate** | E-Taxes API code for tax calculation ("taxFree", "tax2") | | **Serial Number** | Unique identifier for E-Taxes document | @@ -648,7 +648,7 @@ frappe.db.commit() - `USER_GUIDE_TAX_TYPE.md` - End-user guide **External Resources:** -- E-Taxes API Documentation (Azerbaijan government) +- E-Taxes API Documentation (Azərbaycan government) - ASAN Imza Integration Guide - Frappe Framework Documentation: https://frappeframework.com/docs diff --git a/invoice_az/amas_api.py b/invoice_az/amas_api.py index 3873274..2c6e9f3 100644 --- a/invoice_az/amas_api.py +++ b/invoice_az/amas_api.py @@ -2,7 +2,7 @@ ƏMAS (e-social.gov.az) Integration API This module provides functions to interact with ƏMAS (Employment Management System) -of Azerbaijan's Ministry of Labour and Social Protection. +of Azərbaycan's Ministry of Labour and Social Protection. ƏMAS uses MyGovID/ASAN authentication. The flow is: 1. Get MyGovID JWT token via ASAN Sign (same as existing MyGovID Login) @@ -1352,7 +1352,7 @@ def map_gender(amas_gender): gender_str = str(amas_gender).strip().lower() - # Map Azerbaijani values + # Map Azərbaycan values if gender_str in ("kişi", "kisi", "male", "m", "erkək", "erkek"): return "Male" elif gender_str in ("qadın", "qadin", "female", "f", "qız", "qiz"): @@ -1372,7 +1372,7 @@ def map_marital_status(amas_status): status_str = str(amas_status).strip().lower() - # Map Azerbaijani values + # Map Azərbaycan values if status_str in ("evli", "married", "nikahli", "nikаhlı"): return "Married" elif status_str in ("subay", "subаy", "single", "bekar", "bekаr"): diff --git a/invoice_az/api.py b/invoice_az/api.py index 83a3972..37c83c8 100644 --- a/invoice_az/api.py +++ b/invoice_az/api.py @@ -373,7 +373,7 @@ def get_default_settings(): @frappe.whitelist() def normalize_azeri_text(text): - """Normalization of Azerbaijani text for matching""" + """Normalization of Azərbaycan text for matching""" if not text: return text diff --git a/invoice_az/client/sales_invoice.js b/invoice_az/client/sales_invoice.js index 2a97a73..38e2cf9 100644 --- a/invoice_az/client/sales_invoice.js +++ b/invoice_az/client/sales_invoice.js @@ -1871,7 +1871,7 @@ function show_object_picker_dialog(frm, objects, customerName, taxId) { setTimeout(function() { // Show first confirmation dialog frappe.confirm( - __('Send this Sales Invoice to Azerbaijan E-Taxes system?') + '

' + + __('Send this Sales Invoice to Azərbaycan E-Taxes system?') + '

' + __('Invoice: {0}', [frm.doc.name]) + '
' + __('Customer: {0}', [frm.doc.customer]) + '
' + __('Object: {0}', [selectedObject.name]) + '
' + diff --git a/invoice_az/invoice_az/doctype/e_taxes_settings/e_taxes_settings.json b/invoice_az/invoice_az/doctype/e_taxes_settings/e_taxes_settings.json index 14fab83..ed6d892 100644 --- a/invoice_az/invoice_az/doctype/e_taxes_settings/e_taxes_settings.json +++ b/invoice_az/invoice_az/doctype/e_taxes_settings/e_taxes_settings.json @@ -64,10 +64,10 @@ }, { "default": "1", - "description": "Consider replacement of Azerbaijani letters with Latin equivalents when matching", + "description": "Consider replacement of Azərbaycan letters with Latin equivalents when matching", "fieldname": "consider_azeri_chars", "fieldtype": "Check", - "label": "Consider Azerbaijani Characters" + "label": "Consider Azərbaycan Characters" }, { "fieldname": "default_item_settings_section", diff --git a/invoice_az/send_purchase_api.py b/invoice_az/send_purchase_api.py index b97429c..02b2116 100644 --- a/invoice_az/send_purchase_api.py +++ b/invoice_az/send_purchase_api.py @@ -1075,7 +1075,7 @@ def create_act_on_etaxes(token, payload, serial_number): if response.status_code not in [200, 201]: try: error_data = response.json() - # Try to get Azerbaijani message first + # Try to get Azərbaycan message first if isinstance(error_data, dict) and "message" in error_data: if isinstance(error_data["message"], dict) and "az" in error_data["message"]: return { @@ -1455,7 +1455,7 @@ def cancel_act_on_etaxes(purchase_invoice_name): } else: - # Other error - try to get Azerbaijani message + # Other error - try to get Azərbaycan message error_msg = f"E-Taxes returned status {response.status_code}" try: error_data = response.json() diff --git a/invoice_az/send_sales_api.py b/invoice_az/send_sales_api.py index 4cce2ba..c901848 100644 --- a/invoice_az/send_sales_api.py +++ b/invoice_az/send_sales_api.py @@ -588,7 +588,7 @@ def create_invoice_on_etaxes(token, payload, serial_number): if response.status_code not in [200, 201]: try: error_data = response.json() - # Try to get Azerbaijani message first + # Try to get Azərbaycan message first if isinstance(error_data, dict) and "message" in error_data: if isinstance(error_data["message"], dict) and "az" in error_data["message"]: return { @@ -970,7 +970,7 @@ def cancel_invoice_on_etaxes(sales_invoice_name): } else: - # Other error - try to get Azerbaijani message + # Other error - try to get Azərbaycan message error_msg = f"E-Taxes returned status {response.status_code}" try: error_data = response.json() diff --git a/invoice_az/supplier_api.py b/invoice_az/supplier_api.py index 58e1cc9..53a6c7a 100644 --- a/invoice_az/supplier_api.py +++ b/invoice_az/supplier_api.py @@ -120,7 +120,7 @@ def fetch_supplier_data_from_etaxes(supplier_name): if response.status_code not in [200, 201]: try: error_data = response.json() - # Try to get Azerbaijani message first + # Try to get Azərbaycan message first if isinstance(error_data, dict) and "message" in error_data: if isinstance(error_data["message"], dict) and "az" in error_data["message"]: return { diff --git a/invoice_az/vat_api.py b/invoice_az/vat_api.py index 0f3f139..b5fd3af 100644 --- a/invoice_az/vat_api.py +++ b/invoice_az/vat_api.py @@ -1,5 +1,5 @@ # ======= VAT OPERATIONS API MODULE ======= -# Module for importing VAT Account operations from E-Taxes Azerbaijan +# Module for importing VAT Account operations from E-Taxes Azərbaycan # and creating Journal Entries in ERPNext import frappe