Unify FunZone voucher sync on the accounting documents page.

Consolidate sync buttons into one flow on ????? ????????, deduplicate treasury vs invoice and customer vouchers, add FunZone inventory lifecycle views, and improve stat card number display.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Shayan Azadi
2026-07-07 15:13:18 +03:30
parent f6b6e27294
commit 11dfe28623
27 changed files with 1017 additions and 384 deletions

View File

@@ -1,5 +1,6 @@
import { useMemo } from 'react'
import { Link } from 'react-router-dom'
import { visibleVouchers } from '../accounting/voucherDedupe'
import { useStore } from '../store/AppStore'
import { Badge, Card, PageHeader, StatCard } from '../components/ui'
import { formatMoney, formatMoneyWithUnit, toFa } from '../utils/format'
@@ -51,7 +52,8 @@ export function Dashboard() {
const { data } = useStore()
const metrics = useMemo(() => {
const balances = trialBalance(data.accounts, data.vouchers)
const vouchers = visibleVouchers(data.vouchers, data)
const balances = trialBalance(data.accounts, vouchers)
const liquidity = balances
.filter((b) => ['1001', '1002', '1003'].includes(b.account.code))
.reduce((sum, b) => sum + b.balance, 0)