(null);
@@ -217,7 +228,7 @@ export default function PatientDetailPage() {
) : (
{sessions.map((s) => (
- nav(`/admin/patients/${uuid}/session/${u}/pay`)} onViewInvoice={(iv) => setInvoiceUuid(iv)} />
+ nav(`/admin/patients/${uuid}/session/${u}/pay`)} onViewInvoice={viewInvoice} issuing={issueInvoiceMut.isPending} />
))}
)}
diff --git a/assets/admin/pages/SessionPaymentPage.tsx b/assets/admin/pages/SessionPaymentPage.tsx
index 92a59434..7429fbfe 100644
--- a/assets/admin/pages/SessionPaymentPage.tsx
+++ b/assets/admin/pages/SessionPaymentPage.tsx
@@ -98,7 +98,7 @@ export default function SessionPaymentPage() {
onCancel={() => nav(-1)}
/>
) : (
- setActiveStep(0)} onFinish={finish} />
+ setActiveStep(0)} onFinish={finish} />
)}
diff --git a/docs/api/billing.md b/docs/api/billing.md
index c60592ab..6ba971ae 100644
--- a/docs/api/billing.md
+++ b/docs/api/billing.md
@@ -270,4 +270,8 @@
## ارسال مطالبه (ClaimSubmitter)
-عملِ `submit` از طریق interface `App\Billing\Contract\ClaimSubmitterInterface` انجام میشود. پیادهسازی پیشفرض `ManualClaimSubmitter` است (ارسال دستی/آفلاین — همیشه موفق). برای اتصال آینده به API شرکتهای بیمهی ایران کافی است یک پیادهسازی جدید از این interface ساخته و در `config/services.yaml` bind شود؛ `ClaimService` تغییر نمیکند (Dependency Inversion). اگر `submit` ناموفق باشد، انتقال وضعیت با `422` متوقف میشود.
\ No newline at end of file
+عملِ `submit` از طریق interface `App\Billing\Contract\ClaimSubmitterInterface` انجام میشود. پیادهسازی پیشفرض `ManualClaimSubmitter` است (ارسال دستی/آفلاین — همیشه موفق). برای اتصال آینده به API شرکتهای بیمهی ایران کافی است یک پیادهسازی جدید از این interface ساخته و در `config/services.yaml` bind شود؛ `ClaimService` تغییر نمیکند (Dependency Inversion). اگر `submit` ناموفق باشد، انتقال وضعیت با `422` متوقف میشود.
+
+## جریان صدور فاکتور در پنل ادمین
+
+«صدور فاکتور» (گام «جزییات» ویزارد مراجعه) و «مشاهده فاکتور» (کارت مراجعه / مودال جزئیات) هر دو از `useIssueInvoice` استفاده میکنند: `POST /billing/invoices` (idempotent) و سپس `finalize` اگر `draft` باشد. یعنی session بدون فاکتور، در اولین مشاهده صاحب فاکتور نهاییشده میشود.