• DevPilot's avatar
    fix(accounting): إيداع الشيك بالبنك ما كانش بيرحّل قيد + أداة تصفية رصيد شيكات تحت التحصيل · fa934c04
    DevPilot authored
    العميل قال إن رصيد «شيكات تحت التحصيل» طلع ناقص بعد ما عمل قيد التحصيل،
    وإن فيه «رسم تحصيل» اتخصم. السبب الحقيقي مش رسوم — ده باج في الترحيل:
    
    InstrumentPostingService::STATUS_MAP كانت بتسمع لحالة 'under_collection'
    بس، لكن شاشة «إيداع بالبنك» بتحط الحالة 'deposited'. يعني إيداع الشيك
    في البنك ما كانش بيولّد أي قيد خالص (اتأكدت من الداتا: حركة الإيداع
    للشيك TSTD-B1-NR بـ journal_entry_id = NULL).
    
    فالحساب كان بيتقفل بالدائن وقت التحصيل (52,000) من غير ما يكون اتدين
    وقت الإيداع — فيطلع رصيده بالسالب. والرقم اللي العميل شافه «104» هو
    في الحقيقة 104,000 = مجموع الدائن (52,000 مرتين، لأن القيد المجمّع
    اليومي كرّر نفس الحركة وبعدين اتعكس).
    
    الإصلاح:
    - 'deposited' اتضافت لـ STATUS_MAP، فالإيداع بقى يرحّل رجله:
      من ح/ شيكات تحت التحصيل إلى ح/ أوراق قبض.
    - حارس منع تكرار: لو الورقة عدّت على 'deposited' وبعدين 'under_collection'
      (والاتنين نفس الحدث المحاسبي) القيد بيتعمل مرة واحدة بس.
    
    وأداة جديدة في شاشة سد الفجوات — تصفية رصيد شيكات تحت التحصيل:
    السيناريو ده طبيعي جداً: نادي داخل على النظام وعنده رصيد مرحّل من السنة
    اللي فاتت، رقم مجمّع من غير أرقام شيكات ولا أسماء، ولازم يتقفل وإلا
    هيفضل ظاهر للأبد كأن فيه شيكات معلّقة. الشاشة بتوريه:
    - رصيده الحالي، وكام منه شيكات متسجّلة فعلاً وكام رصيد مرحّل من غير شيكات
    - وبيختار الرصيد راح فين: اتحصّل ودخل البنك / ارتد ورجع دين / تسوية رصيد قديم
    - وبيدوّر على الحساب الطرف التاني بالاسم، والنظام بيعمل القيد في الاتجاه
      الصح (سواء الرصيد مدين أو دائن) ومش بيسمح بتصفية أكتر من الرصيد الموجود.
    fa934c04
Name
Last commit
Last update
.claude Loading commit data...
.impeccable Loading commit data...
Another ERP that we may want to cheat from Loading commit data...
HR requests Loading commit data...
Proposal Loading commit data...
Server Connection Data Loading commit data...
app Loading commit data...
config Loading commit data...
cron Loading commit data...
database Loading commit data...
docker Loading commit data...
docs Loading commit data...
public Loading commit data...
support_tickets_downloads/support_screenshots Loading commit data...
tests Loading commit data...
tools Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.env Loading commit data...
.env.example Loading commit data...
.gitignore Loading commit data...
.php-cs-fixer.php Loading commit data...
BalanceSheet.html Loading commit data...
CLAUDE.md Loading commit data...
Dockerfile Loading commit data...
Makefile Loading commit data...
SYSTEM_MAP.md Loading commit data...
Sports Module System Design DETAILED.md Loading commit data...
UPGRADE_PLAN.md Loading commit data...
captain-definition Loading commit data...
cli.php Loading commit data...
composer.json Loading commit data...
composer.lock Loading commit data...
interesting_features.md Loading commit data...
phpstan.neon Loading commit data...
phpunit.xml Loading commit data...
sports activity stuff .txt Loading commit data...
sports-activity-alignment-plan.md Loading commit data...
sports-activity-smart-filtering-plan.md Loading commit data...
trial_balance_2026-01-01_to_2026-05-10.csv Loading commit data...