fix(tax-article): match 328-330 to the e-taxes wording
The accountant reads the Tax Article picker side by side with the cabinet, so the two have to read identically. Three of the nine Əlavə 3.2 articles drifted: 328 carried a double space and the grammatically-tidied "Respublikasının" where the form writes "Respublikasınını", 329 a double space, 330 spelled out "Vergi Məcəlləsinin" where the form abbreviates to "VM-nin". 331 and 336 are left alone — Əlavə 3.2 is the reference wording for those two and the articles already match it. The nine already existed and were already mapped in the VAT allocation report; only the wording moved. Tax Article is autoname:Prompt, so name is a stored id rather than a slug of article_name — re-wording article_name alone would leave the old text showing in every link picker. The name has to move too, and a moved name is a different document, hence the delete-and-reinsert patch rather than a rename_doc walk across a NestedSet. Nothing referenced the three (all ten Tax Article link fields checked, zero rows). The report's mapping keys move in lockstep. They are matched by exact string against article_name, so a key left behind would not raise — it would silently zero its column on a filed return. All 115 keys verified to resolve against the live table afterwards. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e8354516fb
commit
770241a30e
|
|
@ -2640,35 +2640,35 @@
|
||||||
"parent_tax_article": "ƏDV tutulan dövriyyə barədə məlumat"
|
"parent_tax_article": "ƏDV tutulan dövriyyə barədə məlumat"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"article_name": "328. VM-nin 159.2-ci maddəsinə əsasən bu Məcəllənin 167-ci və 168-ci maddələrinə uyğun olaraq Azərbaycan Respublikasının hüdudlarından kənarda malların təqdim edilməsi, xidmətlərin göstərilməsi və işlər görülməsi üzrə əməliyyatlar",
|
"article_name": "328. VM-nin 159.2-ci maddəsinə əsasən bu Məcəllənin 167-ci və 168-ci maddələrinə uyğun olaraq Azərbaycan Respublikasınını hüdudlarından kənarda malların təqdim edilməsi, xidmətlərin göstərilməsi və işlər görülməsi üzrə əməliyyatlar",
|
||||||
"declaration": "Declaration of value added tax",
|
"declaration": "Declaration of value added tax",
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"doctype": "Tax Article",
|
"doctype": "Tax Article",
|
||||||
"is_group": 0,
|
"is_group": 0,
|
||||||
"modified": "2026-06-08 00:00:00.000000",
|
"modified": "2026-06-08 00:00:00.000000",
|
||||||
"name": "328. VM-nin 159.2-ci maddəsinə əsasən bu Məcəllənin 167-ci və 168-ci maddələrinə uyğun olaraq Azərbaycan Respublikasının hüdudlarından k...",
|
"name": "328. VM-nin 159.2-ci maddəsinə əsasən bu Məcəllənin 167-ci və 168-ci maddələrinə uyğun olaraq Azərbaycan Respublikasınını hüdudlarından k...",
|
||||||
"old_parent": null,
|
"old_parent": null,
|
||||||
"parent_tax_article": "ƏDV tutulan əməliyyat sayılmayan dövriyyə barədə məlumat"
|
"parent_tax_article": "ƏDV tutulan əməliyyat sayılmayan dövriyyə barədə məlumat"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"article_name": "329. VM-nin 159.5-ci maddəsinə əsasən fövqəladə hallarda, qanunvericiliklə müəyyən edilmiş təbii itki normaları daxilində zayolmadan əmələ gələn itkilər, təbii itki normaları daxilində xarabolmalar və bu kimi əskikgəlmələr üzrə məbləğ",
|
"article_name": "329. VM-nin 159.5-ci maddəsinə əsasən fövqəladə hallarda, qanunvericiliklə müəyyən edilmiş təbii itki normaları daxilində zayolmadan əmələ gələn itkilər, təbii itki normaları daxilində xarabolmalar və bu kimi əskikgəlmələr üzrə məbləğ",
|
||||||
"declaration": "Declaration of value added tax",
|
"declaration": "Declaration of value added tax",
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"doctype": "Tax Article",
|
"doctype": "Tax Article",
|
||||||
"is_group": 0,
|
"is_group": 0,
|
||||||
"modified": "2026-06-08 00:00:00.000000",
|
"modified": "2026-06-08 00:00:00.000000",
|
||||||
"name": "329. VM-nin 159.5-ci maddəsinə əsasən fövqəladə hallarda, qanunvericiliklə müəyyən edilmiş təbii itki normaları daxilində zayolmadan əmə...",
|
"name": "329. VM-nin 159.5-ci maddəsinə əsasən fövqəladə hallarda, qanunvericiliklə müəyyən edilmiş təbii itki normaları daxilində zayolmadan əməl...",
|
||||||
"old_parent": null,
|
"old_parent": null,
|
||||||
"parent_tax_article": "ƏDV tutulan əməliyyat sayılmayan dövriyyə barədə məlumat"
|
"parent_tax_article": "ƏDV tutulan əməliyyat sayılmayan dövriyyə barədə məlumat"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"article_name": "330. Vergi Məcəlləsinin 159.7-ci maddəsinə əsasən vergiyə cəlb olunmayan əməliyyatlar",
|
"article_name": "330. VM-nin 159.7-ci maddəsinə əsasən vergiyə cəlb olunmayan əməliyyatlar",
|
||||||
"declaration": "Declaration of value added tax",
|
"declaration": "Declaration of value added tax",
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"doctype": "Tax Article",
|
"doctype": "Tax Article",
|
||||||
"is_group": 0,
|
"is_group": 0,
|
||||||
"modified": "2026-06-08 00:00:00.000000",
|
"modified": "2026-06-08 00:00:00.000000",
|
||||||
"name": "330. Vergi Məcəlləsinin 159.7-ci maddəsinə əsasən vergiyə cəlb olunmayan əməliyyatlar",
|
"name": "330. VM-nin 159.7-ci maddəsinə əsasən vergiyə cəlb olunmayan əməliyyatlar",
|
||||||
"old_parent": null,
|
"old_parent": null,
|
||||||
"parent_tax_article": "ƏDV tutulan əməliyyat sayılmayan dövriyyə barədə məlumat"
|
"parent_tax_article": "ƏDV tutulan əməliyyat sayılmayan dövriyyə barədə məlumat"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -5,4 +5,5 @@
|
||||||
[post_model_sync]
|
[post_model_sync]
|
||||||
# Patches added in this section will be executed after doctypes are migrated
|
# Patches added in this section will be executed after doctypes are migrated
|
||||||
taxes_az.patches.remove_legacy_mixed_vat_tax_articles
|
taxes_az.patches.remove_legacy_mixed_vat_tax_articles
|
||||||
taxes_az.patches.remove_aggregate_vat_tax_articles
|
taxes_az.patches.remove_aggregate_vat_tax_articles
|
||||||
|
taxes_az.patches.rename_non_taxable_turnover_articles
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
"""Re-word 328–336 (Əlavə 3.2) to match the e-taxes ФНО verbatim.
|
||||||
|
|
||||||
|
The accountant reads the article list side by side with the cabinet, so the two
|
||||||
|
have to read identically. Three of the nine drifted:
|
||||||
|
|
||||||
|
328 double space; "Respublikasının" -> "Respublikasınını" (the form's spelling)
|
||||||
|
329 double space
|
||||||
|
330 "Vergi Məcəlləsinin" -> "VM-nin"
|
||||||
|
|
||||||
|
331 and 336 stay as they are: Əlavə 3.2 is the reference wording for those two,
|
||||||
|
and the articles already match it.
|
||||||
|
|
||||||
|
Tax Article is autoname:Prompt, so name is a stored id, not derived — re-wording
|
||||||
|
article_name alone would leave the old text showing in every link picker. The
|
||||||
|
name has to move too, and a moved name is a different document. Nothing points at
|
||||||
|
these nine (all ten Tax Article link fields checked, zero rows), so dropping the
|
||||||
|
old ids and letting sync_fixtures insert the new ones is safe and avoids a
|
||||||
|
rename_doc dance across a NestedSet.
|
||||||
|
|
||||||
|
post_model_sync, i.e. before fixtures import. Idempotent: a no-op once gone.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import frappe
|
||||||
|
|
||||||
|
OLD_NAMES = [
|
||||||
|
"328. VM-nin 159.2-ci maddəsinə əsasən bu Məcəllənin 167-ci və 168-ci maddələrinə uyğun olaraq Azərbaycan Respublikasının hüdudlarından k...",
|
||||||
|
"329. VM-nin 159.5-ci maddəsinə əsasən fövqəladə hallarda, qanunvericiliklə müəyyən edilmiş təbii itki normaları daxilində zayolmadan əmə...",
|
||||||
|
"330. Vergi Məcəlləsinin 159.7-ci maddəsinə əsasən vergiyə cəlb olunmayan əməliyyatlar",
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def execute():
|
||||||
|
if not frappe.db.exists("DocType", "Tax Article"):
|
||||||
|
return
|
||||||
|
|
||||||
|
for name in OLD_NAMES:
|
||||||
|
if frappe.db.exists("Tax Article", name):
|
||||||
|
frappe.delete_doc("Tax Article", name, force=1, ignore_permissions=True)
|
||||||
|
|
@ -261,9 +261,9 @@ def get_tax_articles_mapping():
|
||||||
"301-3 Topdan ticarət üzrə ƏDV-yə 18 faiz dərəcə ilə cəlb edilən əməliyyatlar": "vm_301_3",
|
"301-3 Topdan ticarət üzrə ƏDV-yə 18 faiz dərəcə ilə cəlb edilən əməliyyatlar": "vm_301_3",
|
||||||
"301-4 Tibb müəssisələrinin və özəl tibbi praktika ilə məşğul olan fiziki şəxslərin hesabat dövrü ərzində əhaliyə göstərilən tibbi xidmətlər üzrə nağdsız qaydada POS-terminal vasitəsi ilə aparılan ödəmələr əsasında formalaşan dövriyyə": "vm_301_4",
|
"301-4 Tibb müəssisələrinin və özəl tibbi praktika ilə məşğul olan fiziki şəxslərin hesabat dövrü ərzində əhaliyə göstərilən tibbi xidmətlər üzrə nağdsız qaydada POS-terminal vasitəsi ilə aparılan ödəmələr əsasında formalaşan dövriyyə": "vm_301_4",
|
||||||
# --- 328–336 новые статьи (ƏDV tutulan əməliyyat sayılmayan dövriyyə, Əlavə 3) ---
|
# --- 328–336 новые статьи (ƏDV tutulan əməliyyat sayılmayan dövriyyə, Əlavə 3) ---
|
||||||
"328. VM-nin 159.2-ci maddəsinə əsasən bu Məcəllənin 167-ci və 168-ci maddələrinə uyğun olaraq Azərbaycan Respublikasının hüdudlarından kənarda malların təqdim edilməsi, xidmətlərin göstərilməsi və işlər görülməsi üzrə əməliyyatlar": "vm_328",
|
"328. VM-nin 159.2-ci maddəsinə əsasən bu Məcəllənin 167-ci və 168-ci maddələrinə uyğun olaraq Azərbaycan Respublikasınını hüdudlarından kənarda malların təqdim edilməsi, xidmətlərin göstərilməsi və işlər görülməsi üzrə əməliyyatlar": "vm_328",
|
||||||
"329. VM-nin 159.5-ci maddəsinə əsasən fövqəladə hallarda, qanunvericiliklə müəyyən edilmiş təbii itki normaları daxilində zayolmadan əmələ gələn itkilər, təbii itki normaları daxilində xarabolmalar və bu kimi əskikgəlmələr üzrə məbləğ": "vm_329",
|
"329. VM-nin 159.5-ci maddəsinə əsasən fövqəladə hallarda, qanunvericiliklə müəyyən edilmiş təbii itki normaları daxilində zayolmadan əmələ gələn itkilər, təbii itki normaları daxilində xarabolmalar və bu kimi əskikgəlmələr üzrə məbləğ": "vm_329",
|
||||||
"330. Vergi Məcəlləsinin 159.7-ci maddəsinə əsasən vergiyə cəlb olunmayan əməliyyatlar": "vm_330",
|
"330. VM-nin 159.7-ci maddəsinə əsasən vergiyə cəlb olunmayan əməliyyatlar": "vm_330",
|
||||||
"331. Vergi Məcəlləsinin 160-cı maddəsinə əsasən vergiyə cəlb edilməyən əməliyyatlar, o cümlədən müəssisənin təqdim edilməsi": "vm_331",
|
"331. Vergi Məcəlləsinin 160-cı maddəsinə əsasən vergiyə cəlb edilməyən əməliyyatlar, o cümlədən müəssisənin təqdim edilməsi": "vm_331",
|
||||||
"332. Müstəqil sahibkarlıq fəaliyyəti çərçivəsində malların göndərilməsi, işlərin görülməsi və xidmətlərin göstərilməsi sayılmayan əməliyyatlar üzrə": "vm_332",
|
"332. Müstəqil sahibkarlıq fəaliyyəti çərçivəsində malların göndərilməsi, işlərin görülməsi və xidmətlərin göstərilməsi sayılmayan əməliyyatlar üzrə": "vm_332",
|
||||||
"333. Rüsumsuz ticarət mağazalarında (Duty-Free) malların təqdim edilməsi və xidmətlərin göstərilməsi üzrə əməliyyatlar": "vm_333",
|
"333. Rüsumsuz ticarət mağazalarında (Duty-Free) malların təqdim edilməsi və xidmətlərin göstərilməsi üzrə əməliyyatlar": "vm_333",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue