taxes_az/edv_butun_dusturlar.md

19 KiB
Raw Blame History

ƏDV bəyannaməsi — bütün hesablanan (boz / read-only) xanaların düsturları

Version 2026.1 · taxCode _0300

Mənbə: e-taxes kabinetinin JS bundle-i (/eportal/declaration/, 2026-07 relizi), calc-modullardan çıxarılıb. Decimal-lib açması: o()(x) / n()(x) = onluq ədəd; .add/.subtract/.multiply/.divide/.value; negativeToZero(v) = max(0, v). Faiz .multiply(18).divide(100) = ×18%. Status: bundle-dən çıxarılıb; canlı yoxlama (1 PIN1) sonda planlanır.


Əlavə 2 · Hissə 2 — Kənd təsərrüfatı məhsullarının ticarət əlavəsi TƏSDİQLƏNİB (daemon + bundle)

Sahələr: appendix2.agroProductsRetailTotal.{startRemains, purchased, sold, resultRemains, tradeSupplementCost, tradeSupplementVat}

Sütun Sahə Redaktə Düstur
1 startRemains əl ilə
2 purchased boz = Hissə 1 cədvəlinin cəmi (Σ sətirlər)
3 sold əl ilə
4 resultRemains əl ilə
5 tradeSupplementCost boz max(0, sold (startRemains + purchased resultRemains))
6 tradeSupplementVat boz max(0, tradeSupplementCost × 18 / 100)

Bundle mənbəyi (byte-for-byte daemon ilə üst-üstə düşür):

tradeSupplementCost = negativeToZero( o(sold).subtract( o(startRemains).add(purchased).subtract(resultRemains) ).value )
tradeSupplementVat  = negativeToZero( o(tradeSupplementCost).multiply(18).divide(100).value )

sold → çıxışda calculations[_1303].cost (güzgü) və calculations[_1005].cost (ümumi dövriyyə cəmi) əlavə olunur; taxable base/vat-a getmir (kənd təsərrüfatı xüsusi rejimi).



Bölmələr üzrə hesablanan xanalar (bundle-dən, 2026.1)

Status: bundle-dən çıxarılıb VƏ canlı formada təsdiqlənib (daemon, draft 2606170135788400, 2026-07-14). Etiketlər (label) bundle-də i18n açarları olduğundan boşdur — kod + düstur verilir.

Canlı yoxlama nəticələri (draft 2606170135788400 real saxlanmış dəyərlərinə qarşı)

Bundle-dən çıxarılan düsturlar real formanın hesabladığı dəyərləri byte-for-byte verir:

Yoxlanan düstur Hesablama Formada
_1005.cost = Σ(301,301-2,302,303,304).cost 6050+1000+50+28970+0 = 36070 36070
_1005.amount = Σ(301,302,303,304).amount (301-2 xaric) 5600+0+53+0 = 5653 5653
_1005.vat = _1001.vat + _1004.vat 1008+0 = 1008 1008
_1002.vat = cost×100 / _1005.cost (pay %) 50×100/36070 = 0.14 0.14
_1003.vat = cost×100 / _1005.cost (pay %) 28970×100/36070 = 80.32 80.32
318.paidVat = paidAmount×18% 100×0.18 = 18 18
319.paidVat = Σ uşaqlar 17.1 17.1
326 (ödənilməli) = max(0, 305.vat+306.vat+318.paidVat+324.paidVat 317.vat319.paidVat325.paidVat) 1008+0+18+0017.10 = 1008.9 1008.9 (mainTax.mustBePaid)
327 (əvəzləşdirilməli) = max(0, tərs nett) max(0, 1008.9) = 0 0

| _1004.vat = 304.amount × 20% | 1000×0.20 = 200 | 200 | | | _1101.vat = amount × 18% (baza) | 5600×0.18=1008; 6600×0.18=1188 | 1008 / 1188 | |

| debitor: lastDebt = previousDebt + incurredDebt removedDebt | 7858+4200 | 8278 | | Əlavə 3: 301.1 = 301.1.1+301.1.2+301.1.3+301.1.4 | 10+6030+0+10 | 6050 / 5600 | | Əlavə 3: 301.1.2 = Σ uşaqlar | 10+6020 | 6030 | | Əlavə 4: 302 = Σ uşaqlar; 302.3 = 302.3.1..3 | 10+10+30 / 10+10+10 | 50 / 30 | | Əlavə 5: 303 = Σ(303.1..303.53) | bütün uşaqların cəmi | 28970 / 53 | | 308.1.vat = paidAmount × 18% | 1000×0.18 | 180 | | 317.vat = max(0, 308+309+310+312 313 315) | max(0, 05020) | 0 (clamp ) | | _1101.vat = 301.1.amount×18% 301-4.amount×50%×18% | 5600×0.18 1000×0.5×0.18 | 918 |

Bütün ƏDV düsturları canlı təsdiqləndi — istisna yoxdur.

301-4 = «Vergi Məcəlləsinin 174.5-ci maddəsinə əsasən formalaşan dövriyyə» — ictimai iaşə / pərakəndə ticarət / səhiyyə sektorlarında nağdsız dövriyyənin 50%-i ƏDV bazasından çıxılır (o hissəyə effektiv dərəcə 18% yox, 9%). 301-4 redaktə edilən xanadır; test dəyəri (1000) ilə yoxlandı: _1101.vat 1008→918 (90) düsturla üst-üstə düşdü. Qeyd: "Tələb hüququ güzəşt" sətirləri (301.1.1.14 / 301.1.2.11) bu term DEYİL — onlar 301.1 amount-a normal 18%-lə əlavə olunur (yoxlandı: güzəşt=1000 → _1101.vat=1188=6600×18%, azalma yoxdur). 50%-güzəştli xüsusi əməliyyat sətri ayrıca və nadirdir.

Hesabat dövründəki dövriyyə üzrə — ƏSAS DÖVRİYYƏ və ƏDV (calculations, _1001.._1006, _1303, _1005)

Yekun ƏDV dövriyyəsini formalaşdıran əsas addım. Daxili kodlar _10xx.
Mənbə chunk: 62481.4f3fdc84c5bac14f.chunk.js

Kod Sahə Düstur (plain) Qeyd
301 cost onReportingPeriodTurnover.301_1.cost =_1001.cost. Mirror of child line 301.1 cost (301.2 has no cost).
301 amount onReportingPeriodTurnover.301_1.amount + onReportingPeriodTurnover.301_2.amount =_1001.amount = sum of children 301.1 + 301.2.
301 vat onReportingPeriodTurnover.301_1.vat + onReportingPeriodTurnover.301_2.vat =_1001.vat = sum of children 301.1 + 301.2.
301.1 cost appendix3.vatOperations.301_1.cost =_1101.cost. Passthrough pulled from appendix3 vatOperations.
301.1 amount appendix3.vatOperations.301_1.amount =_1101.amount. Passthrough from appendix3 vatOperations.
301.1 vat onReportingPeriodTurnover.301_1.amount*18/100 - appendix3.vatOperations.301_4.amount*50/100*18/100 =_1101.vat. Full 18% VAT on 301.1 amount minus 50%-reduced 18% VAT on appendix3 line 301-4 (the 50% margin-reduction …
301.2 vat max(0, onReportingPeriodTurnover.301_2.amount*18/100) =_1103.vat. 18% VAT on 301.2 amount, clamped to >=0.
301-2 cost appendix2.total.sold =_1303.cost. Passthrough of appendix2 (agro margin) total sold.
302 cost appendix4.302.cost =_1002.cost. Passthrough from appendix4 (zero-rated / 0% VAT operations).
302 amount appendix4.302.amount =_1002.amount. Passthrough from appendix4.
302 vat onReportingPeriodTurnover.302_cost * 100 / onReportingPeriodTurnover.305_cost =_1002.vat. Not a VAT amount but the % share of 302 cost within total turnover cost (305). returnNaNorFinite guards d…
303 cost appendix5.303.cost =_1003.cost. Passthrough from appendix5 (VAT-exempt operations).
303 amount appendix5.303.amount =_1003.amount. Passthrough from appendix5.
303 vat onReportingPeriodTurnover.303_cost * 100 / onReportingPeriodTurnover.305_cost =_1003.vat. % share of exempt (303) cost within total turnover cost (305). Divide-by-zero guarded.
304 vat onReportingPeriodTurnover.304_amount * 20/100 =_1004.vat. 20% (not 18%) applied to 304 amount.
305 cost 301_cost + 301-2_cost + 302_cost + 303_cost + 304_cost =_1005.cost (ümumi/total). Sum of 301, 301-2, 302, 303, 304 costs.
305 amount 301_amount + 302_amount + 303_amount + 304_amount =_1005.amount (total). Sum of 301,302,303,304 amounts (301-2 excluded from amount sum).
305 vat 301_vat + 304_vat =_1005.vat (total). Sum of 301 and 304 VAT only.
306 cost 306_1_cost + 306_1-1_cost =_1006.cost. Sum of children 306.1 + 306.1-1 costs.
306 amount 306_1_amount + 306_1-1_amount + 306_2_amount + 306_3_amount =_1006.amount. Sum of children 306.1, 306.1-1, 306.2, 306.3 amounts.
306 vat 306_1_vat + 306_2_vat + 306_3_vat =_1006.vat. Sum of children 306.1, 306.2, 306.3 VAT (306.1-1 has no computed VAT).
306.1 vat onReportingPeriodTurnover.306_1.amount * 18/100 =_1108.vat. 18% VAT on 306.1 amount.
306.2 vat onReportingPeriodTurnover.306_2.amount * 18/100 =_1109.vat. 18% VAT on 306.2 amount.
306.3 vat onReportingPeriodTurnover.306_3.amount * 18/100 =_1110.vat. 18% VAT on 306.3 amount.

Əvəzləşdirilən vergi (step 11; 308317)

Alışlara görə əvəzləşdirilən ƏDV.
Mənbə chunk: 80242.ea9db6d8fc5b7f98.chunk.js

Kod Sahə Düstur (plain) Qeyd
308 vat appendix1ElectronicInvoice.summary[indicator=308].paidVat (default 0) Assigned read-only. In T() taken from the appendix1 electronic-invoice summary row 308 paidVat; b() (initial data loa…
308.1 vat substitutedTax["308.1"].paidAmount * 18 / 100 VAT = editable paidAmount x 18%. 308.1.paidAmount is a user input (only read).
309 paidAmount appendix6._row2.paidAmount Pulled from appendix6 row2.
309 vat appendix6._row2.paidVat Pulled from appendix6 row2.
310 paidAmount appendix1Cargo(CCD) total[310].cost ccdTotal E = calculateIndicatorsTotal(appendix1Cargo.formData); paidAmount = E[310].cost.
310 vat appendix1Cargo(CCD) total[310].vat
311 paidAmount appendix1Cargo(CCD) total[311].cost 311 has no vat sub-field in this section.
310.1 vat substitutedTax["310.1"].paidAmount * 18 / 100 VAT = editable paidAmount x 18%. 310.1.paidAmount is a user input (only read).
312 paidAmount appendix7.summary.paidAmount
312 vat appendix7.summary.paidVat
314 vat appendix1ElectronicInvoice total[314].paidVat (default 0) Only assigned in b()/setSubstitutedTaxData (initial data-load population from the appendix1 invoice total). Not re-de…
316 paidAmount appendix1ElectronicInvoice total[316].paidAmount (default 0) Only assigned in b()/setSubstitutedTaxData (initial population). 316.vat is a separate editable input (not derived).
308 paidAmount appendix1ElectronicInvoice total[308].paidAmount (default 0) Prefilled in b()/setSubstitutedTaxData from the appendix1 invoice total. useTriggerEffect links 308.paidAmount <-> 30…
317 paidAmount 308.paidAmount + 309.paidAmount + 310.paidAmount + 311.paidAmount + 312.paidAmount + 316.paidAmount Total (317) paidAmount = sum of paidAmount over 308,309,310,311,312,316. Note 313,314,315 excluded from the paidAmoun…
317 vat max(0, 308.vat + 309.vat + 310.vat + 312.vat - 313.vat - 315.vat) Total (317) vat = 308+309+310+312 vat MINUS 313 and 315 vat, clamped to >=0. T() computes the raw sum; the useCalcula…

Hesablaşmalar (326/327) + əsas vergi

Ödənilməli / əvəzləşdirilməli yekun ƏDV.
Mənbə chunk: 34700.163fc0edfee91190.chunk.js

Kod Sahə Düstur (plain) Qeyd
326 amount max(0, tpo305.vat + tpo306.vat + accurate318.paidVat + accurate324.paidVat - substituted317.vat - accurate319.paidVat - accurate325.paidVat) Ödənilməli ƏDV (VAT to be paid) = hesablanmış əvəzləşdirilən, clamped to >=0. TotalCalculationIndicator._1023. Writ…
327 amount max(0, substituted317.vat + accurate319.paidVat + accurate325.paidVat - tpo305.vat - tpo306.vat - accurate318.paidVat - accurate324.paidVat) Əvəzləşdirilməli ƏDV (VAT to be refunded/credited) = əvəzləşdirilən hesablanmış, clamped to >=0. TotalCalculationIn…

Dəqiqləşdirilən vergi (step 12; 318325)

Dəqiqləşdirilmiş bəyannamədə düzəlişlər.
Mənbə chunk: 79402.12e500153121e469.chunk.js

Kod Sahə Düstur (plain) Qeyd
318.paidVat vat round(paidAmount_318 * 18 / 100, 2) 318 = internal SpecifiedTurnoverIndicator._1017. paidAmount & turnover of 318 are user inputs; paidVat is DISABLE (gr…
319.paidVat vat 319.1.paidVat + 319.2.paidVat + 319.3.paidVat + 319.4.paidVat 319 = internal _1018 (parent). All three columns DISABLE = sum of children 319.1-319.4.
319.paidAmount amount 319.1.paidAmount + 319.2.paidAmount + 319.3.paidAmount + 319.4.paidAmount Parent 319 paidAmount = sum of children paidAmount.
319.turnover total 319.1.turnover + 319.2.turnover + 319.3.turnover + 319.4.turnover Parent 319 turnover (dövriyyə) = sum of children turnover. Note 319.2/319.3/319.4 turnover are themselves mirrored fr…
319.1.paidVat vat round(319.1.paidAmount * 18 / 100, 2) 319.1 = internal _1035. paidAmount & turnover user inputs; paidVat computed at 18%.
319.2.turnover total 319.2.paidAmount 319.2 = internal _1036. turnover column is DISABLE and simply mirrors the entered paidAmount (no arithmetic).
319.2.paidVat vat round(319.2.paidAmount * 17.1 / 100, 2) Reduced effective rate 17.1% (= 18% * 0.95). 2026.1-specific rate (2021.1/2024.1 variants used 16.2%).
319.3.turnover total 319.3.paidAmount 319.3 = internal _1045. turnover mirrors paidAmount.
319.3.paidVat vat round(319.3.paidAmount * 14.85 / 100, 2) Reduced effective rate 14.85% (= 18% * 0.825). 2026.1-specific (2021.1/2024.1 used 15.3%).
319.4.turnover total 319.4.paidAmount 319.4 = internal _1430. turnover mirrors paidAmount.
319.4.paidVat vat round(319.4.paidAmount * 12.6 / 100, 2) Reduced effective rate 12.6% (= 18% * 0.70), same across all versions.
324.paidVat vat round(324.paidAmount * 18 / 100, 2) 324 = internal _1431. turnover HIDDEN, paidAmount user input, paidVat computed at 18%.

Əlavə 3 — ƏDV tutulan və tutulmayan əməliyyatlar (301.x)

Valideyn sətirlər = uşaqların cəmi. VAT sahəsi yoxdur (yalnız cost/amount).
Mənbə chunk: 63503.29ec4fed4bd41ac1.chunk.js

Kod Sahə Düstur (plain) Qeyd
301.1 cost 301.1.1.cost + 301.1.2.cost + 301.1.3.cost + 301.1.4.cost Parent row = sum of the four direct children's cost. Written via setValue e.Pc to vatOperations.<301.1>.cost. Read-on…
301.1 amount 301.1.1.amount + 301.1.2.amount + 301.1.3.amount + 301.1.4.amount Parent row = sum of the four direct children's amount. setValue to vatOperations.<301.1>.amount. Read-only/grey.
301.1.1 cost sum(301.1.1.k.cost for k=1..9) ASYMMETRIC: cost sums only children 1..9, whereas amount (below) sums 1..14. Children 10..14 contribute amount only, …
301.1.1 amount sum(301.1.1.k.amount for k=1..14) Sums all 14 children amounts. setValue to vatOperations.<301.1.1>.amount. Read-only/grey.
301.1.2 cost sum(301.1.2.k.cost for k=1..13) Sums all 13 children costs. setValue to vatOperations.<301.1.2>.cost. Read-only/grey.
301.1.2 amount sum(301.1.2.k.amount for k=1..13) Sums all 13 children amounts. setValue to vatOperations.<301.1.2>.amount. A useTriggerEffect re-runs this when indica…

Əlavə 4 — 0% dərəcə ilə tutulan əməliyyatlar (302.x)

Sıfır dərəcəli əməliyyatlar.
Mənbə chunk: 41288.2d26453cbeb38c03.chunk.js

Kod Sahə Düstur (plain) Qeyd
302 cost 302.1.cost + 302.2.cost + 302.3.cost + 302.4.cost + 302.5.cost + 302.6.cost + 302.7.cost + 302.8.cost + 302.9.cost + 302.10.cost + 302.11.cost + 302.12.cost Parent total = sum of all 12 child-line costs. Set via (0,i.Pc)(stepKey.302.cost, ...). Missing children default to 0…
302 amount 302.1.amount + 302.2.amount + 302.3.amount + 302.4.amount + 302.5.amount + 302.6.amount + 302.7.amount + 302.8.amount + 302.9.amount + 302.10.amount + 302.11.amount + 302.12.amount Parent total = sum of all 12 child-line amounts. Set via (0,i.Pc)(stepKey.302.amount, ...).
302.3 cost 302.3.1.cost + 302.3.2.cost + 302.3.3.cost Sub-parent 302.3 cost = sum of its three child rows. Set via (0,i.Pc)(stepKey.302.3.cost, ...).
302.3 amount 302.3.1.amount + 302.3.2.amount + 302.3.3.amount Sub-parent 302.3 amount = sum of its three child rows. Set via (0,i.Pc)(stepKey.302.3.amount, ...).
302.6 cost appendix8.obtainedCertificateFormPanel.summary.totalCost ?? appendix8.totalCertificateInfo.totalCost Cross-appendix reference: 302.6 cost is pulled from Əlavə 8 (appendix8) certificate totals, preferring the obtained-c…

Əlavə 5 — ƏDV-dən azad olunan əməliyyatlar (303.x, azad)

QEYD: bundle-də kod 303 (valideyn) + uşaqlar 303.1..303.54; UI-də "azad" bölməsi.
Mənbə chunk: 37563.711737a3e47c934a.chunk.js

Kod Sahə Düstur (plain) Qeyd
303.cost cost sum(303.1.cost .. 303.54.cost) Parent 303 cost = sum of all 54 child-row cost fields. Read-only/grey. Value pushed via (0,u.Pc)(".303.cost"…
303.amount amount sum(303.1.amount .. 303.54.amount) Parent 303 amount = sum of all 54 child-row amount fields. Read-only/grey. Value pushed via (0,u.Pc)(".303.a…

Debitor borclar (step 10; 307.x)

Borc roll-forward (açılış+yaranansilinən=qalıq). ƏDV faizi yoxdur.
Mənbə chunk: 60142.aedce5dd1a72c678.chunk.js

Kod Sahə Düstur (plain) Qeyd
307.previousDebt previousDebt 307.1.previousDebt + 307.2.previousDebt + 307.3.previousDebt Parent 307 = sum of children 307.1/307.2/307.3. Written via setValue (b.Pc) -> read-only grey cell.
307.incurredDebt incurredDebt 307.1.incurredDebt + 307.2.incurredDebt + 307.3.incurredDebt Parent 307 sum of children.
307.removedDebt removedDebt 307.1.removedDebt + 307.2.removedDebt + 307.3.removedDebt Parent 307 sum of children.
307.lastDebt lastDebt 307.previousDebt + 307.incurredDebt - 307.removedDebt Roll-forward closing debt = opening + incurred - removed. Uses the (already computed) 307 parent fields.
307.1.lastDebt lastDebt 307.1.previousDebt + 307.1.incurredDebt - 307.1.removedDebt Child row closing debt. previousDebt/incurredDebt/removedDebt are user inputs (leaves).
307.2.lastDebt lastDebt 307.2.previousDebt + 307.2.incurredDebt - 307.2.removedDebt Child row closing debt.
307.3.lastDebt lastDebt 307.3.previousDebt + 307.3.incurredDebt - 307.3.removedDebt Child row closing debt.
307-1.previousDebt previousDebt 307-1.1.previousDebt + 307-1.2.previousDebt + 307-1.3.previousDebt Parent 307-1 (second debtor-debt block) = sum of children 307-1.1/.2/.3. Note: this block has NO incurredDebt field.
307-1.removedDebt removedDebt 307-1.1.removedDebt + 307-1.2.removedDebt + 307-1.3.removedDebt Parent 307-1 sum of children.
307-1.lastDebt lastDebt 307-1.previousDebt - 307-1.removedDebt 307-1 block closing debt = opening - removed (no incurredDebt term, unlike 307).
307-1.1.lastDebt lastDebt 307-1.1.previousDebt - 307-1.1.removedDebt Child row; previousDebt/removedDebt are user inputs.
307-1.2.lastDebt lastDebt 307-1.2.previousDebt - 307-1.2.removedDebt Child row.
307-1.3.lastDebt lastDebt 307-1.3.previousDebt - 307-1.3.removedDebt Child row.

ƏDV-yə AİD OLMAYAN (agentlər yoxladı, çıxarılmadı)

  • Xüsusi iqtisadi zona (801819) — isVat=false. Not a VAT section. specialZoneIndicators (801-806,810; internal codes _4001.._4007 via p.SpecialZoneIndicators) is the 'Xususi iqtisadi zona' block of the SIMPLIFIED TAX declaratio
  • Xərc/dövriyyə detalları (12261251) — isVat=false. Not a VAT section, so a definitive 2026.1 VAT variant does not apply. Among the costReportingPeriodIndicators variants, the most-expanded code set (2026.x latest) is in 65291/75444