Epic EP-12 Yuqori 08_finance erpbom-backend backend

08_finance (2/2) — Xarajat hujjati, asosiy vositalar, payroll va davr yopilishi

Bajarildi
100% 37/37
Status:

Tavsif

08_finance ning ikkinchi yarmi — **hujjat va davr qatlami**: qo'lda kiritiladigan xarajat hujjati (manba 246–260), asosiy vositalar reyestri va amortizatsiya, oylik ish haqi hujjati (payroll-run), amaliyot oyini yopish gate'i va sverka akti. EP-11 dagi uchala jurnal **tayyor** — bu epic ular ustiga hujjat qatlamini va davr yopilishi mexanikasini quradi.

Texnik ko'rsatma

Agent uchun

Xarajat ikki qavat (qoida 54): hujjat (`expense_invoices` + qatorlar + status log) odam yozadi, jurnal (`expense_entries`) tizim yozadi. Hujjat `confirmed` bo'lganda jurnalga **bitta** qator tushadi (qatorlar ko'chirilmaydi). Amortizatsiya — faqat chiziqli (Q29), muddat har aktivda qo'lda (Q30), olingan oydan **to'liq** (Q31), yozuv **davr yopilishida** avtomatik + catch-up (Q32/qoida 47). Payroll-run **ishbay accrual'ini takrorlamaydi** (qoida 51) — u faqat oylikbay proratsiyasini accrual qiladi va to'lovni rasmiylashtiradi. Yaxlitlash qoldig'i hodim balansida qoladi (qoida 52).

Qabul mezonlari (DoD)

0 / 3 bajarildi

  • Xarajat hujjati tasdiqlanganda pul tasdiqlovchining kassasidan chiqadi va jurnalga bitta qator tushadi (AC24/AC25)

  • Oy yopilganda har `active` aktivga amortizatsiya va xarajat qatori tug'iladi, ikkinchi marta yopilsa takrorlanmaydi (AC10)

  • F9 foydasi oylikbay maosh, picking ishbayi va yetkazish haqi summalarini kamaytiradi; ishlab chiqarish ishbayida xarajat qatori YO'Q (AC31)

Ichki ishlar

11 ta

Izoh qoldirish

Tarix

17 yozuv

  • 💬

    pm-agent izoh qoldirdi

    CI topilmasi (2026-09-09, PR #14): ExpenseInvoiceService.requireCreator jim deny qilardi (auth_logs ga yozilmasdi, R30 №1) — a0deeec bilan OwnershipDeniedException ga o'tkazildi. QO'SHIMCHA TOPILMA (EP-12 ga TEGISHLI EMAS, yamalmadi): xuddi shu naqsh 4 joyda bor — PaymentService#requireOwnCustomerAccount va OrderService#resolveOwnCustomerId/resolveOwnDriverEmployee/resolveOwnPickingEmployee raw ForbiddenException tashlaydi. Skaner testi ularni ushlamaydi (nom 'Own', 'Owned' emas). Bu EP-10/EP-11 hududi, main da. Alohida ish birligi kerak.

  • ⇄

    system statusni o'zgartirdi Ishlanyapti → Bajarildi

    Bolalardan avtomatik hisoblandi

  • ⇄

    system statusni o'zgartirdi Bajarildi → Ishlanyapti

    Bolalardan avtomatik hisoblandi

  • ⇄

    system statusni o'zgartirdi Ishlanyapti → Bajarildi

    Bolalardan avtomatik hisoblandi

  • 💬

    pm-agent izoh qoldirdi

    PR merge qilindi (foydalanuvchi, 2026-09-09): erpbom-web PR #13 -> main bfba599 · erpbom-mobile PR #11 -> main bf200cd. Backend (feat/EP-12-erpbom-backend) hali push qilinmagan — drift gate uchun 3 ta validatsiya tuzatishi ketmoqda (T02-S04, T04-S01, T05-S01).

  • ⇄

    system statusni o'zgartirdi Bajarildi → Ishlanyapti

    Bolalardan avtomatik hisoblandi

  • ⇄

    system statusni o'zgartirdi Ishlanyapti → Bajarildi

    Bolalardan avtomatik hisoblandi

  • 🔗

    pm-agent bog'liqlik qo'shdi

    → EP-11

  • ✎

    pm-agent yangiladi

    Yangilandi: estimate_hours

  • 🔗

    pm-agent bog'liqlik qo'shdi

    → EP-11

  • ✎

    pm-agent yangiladi

    Yangilandi: estimate_hours

  • 🔗

    team-lead-pm bog'liqlik qo'shdi

    → EP-11

  • ✎

    team-lead-pm yangiladi

    Yangilandi: estimate_hours

  • 💬

    team-lead-pm izoh qoldirdi

    🔴 FAZA D UCHUN OGOHLANTIRISH — `FinanceContractOperationCoverageTest` shu epic davomida QIZIL turadi, bu KUTILGAN. Lead o'zi yurgizib tasdiqladi (2026-09-07, HEAD ba77d76): Tests run 2, Failures 1. Yiqilish sababi — kontraktda e'lon qilingan, `/v3/api-docs` da hali RO'YXATDAN O'TMAGAN operatsiyalar (expense-invoices, fixed-assets, payroll-runs, accounting-periods, reconciliations, /me/finance/*). T00 kontraktni muzlatgan, kontroller esa T02/T03/T04/T05/T06 da yoziladi. Bu T01 nuqsoni EMAS — test main'da yashil edi va branch'da TEGILMAGAN (`git diff main..HEAD` bo'sh). Drift darvozasi to'g'ri ishlayapti. 🔴 Faza D SHARTI: yakunlovchi agent bu testni YASHIL ko'rishi SHART. Agar T02–T06 tugagach ham qizil bo'lsa — kontraktda ortiqcha operatsiya bor yoki kontroller ro'yxatdan o'tmagan; `@Disabled` bilan O'CHIRILMASIN.

  • ⇄

    system statusni o'zgartirdi Backlog → Ishlanyapti

    Bolalardan avtomatik hisoblandi

  • 🔗

    pm-agent bog'liqlik qo'shdi

    → EP-11

  • ✦

    pm-agent yaratdi

    08_finance (2/2) — Xarajat hujjati, asosiy vositalar, payroll va davr yopilishi

Ma'lumot

Agent
—
Olingan
—
Boshlandi
07.09.2026 05:59
Tugadi
09.09.2026 11:08
Baho
150 soat
Spec
erp/docs/modules/08_finance.md
Branch
—
Commit
—

Bog'liqliklar

Agent uchun

Bu ishni AI agent quyidagicha oladi:

curl -s -X POST https://pmboard.ferp.uz/api/items/EP-12/claim \
  -H "X-Agent: backend-dev-1"

Tugatgach:

curl -s -X POST https://pmboard.ferp.uz/api/items/EP-12/status \
  -H "X-Agent: backend-dev-1" \
  -H "Content-Type: application/json" \
  -d '{"status":"review","note":"..."}'