← Knowledge library

Billing

Follow a complete synthetic self-pay billing example

Walk through a real saved charge, draft, issue, receipt, status-only API continuation and completed account closure, with the current UI defect made explicit.

Current source · source reviewed · 15 min read

Before you begin

1. Identify the separate teaching account

The dedicated MANSOQ TEST — Finance Training account starts with no charge or invoice. Confirm the patient/account identity, status and calculated totals before starting. Initial patient/account creation was fixture setup; it is not represented as a UI registration test.

This dedicated synthetic finance account starts with no invoices or charges and zero calculated totals. It is separate from the clinical teaching patient account.
Start from an isolated synthetic finance account · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. This dedicated synthetic finance account starts with no invoices or charges and zero calculated totals. It is separate from the clinical teaching patient account.

2. Choose the configured charge and quantity

Select Create Invoice, then the configured General Outpatient Consultation definition. The example uses quantity 1 at 150 SAR per unit. Confirm the charge. The form creates the charge item before the draft invoice. No actual clinical performance or performer is attested by this billing-only example.

The real invoice form selects the configured General Outpatient Consultation teaching charge,150 SAR per unit, with quantity1. No care was delivered and no clinical performance attestation is implied.
Add a configured charge definition to the invoice · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. The real invoice form selects the configured General Outpatient Consultation teaching charge,150 SAR per unit, with quantity1. No care was delivered and no clinical performance attestation is implied.

3. Review and create the draft

Select the intended charge, compare the 150 SAR invoice total and add a clear synthetic-only note. Create Invoice saves INV-108-26 as Draft. Independent database readback confirms the invoice, account and single charge.

One configured150 SARcharge is selected and the note explicitly marks the entire self-pay finance flow as synthetic. Creation makes a draft rather than a tax-qualified electronic invoice.
Create the selected draft invoice · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. One configured150 SARcharge is selected and the note explicitly marks the entire self-pay finance flow as synthetic. Creation makes a draft rather than a tax-qualified electronic invoice.
Actual Facility Admin UI creation saved INV-108-26 as a150 SARdraft with one consultation charge and a synthetic-only note. No electronic tax document or insurer claim exists for this example.
Verify the newly created draft invoice · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. Actual Facility Admin UI creation saved INV-108-26 as a150 SARdraft with one consultation charge and a synthetic-only note. No electronic tax document or insurer claim exists for this example.

4. Issue the local self-pay invoice

Select Issue Invoice. The actual UI transition saved Issued and opened Collect Payment. Applicable pricing, reservation, canonical insurance and tax prerequisites still apply on real configured workflows. This example has no canonical insurance commitment or electronic tax document; its ordinary issued status must not be described as a qualified tax filing.

The real payment form uses the existing authorized Facility Admin, a configured synthetic cashier location,150 SARamount and200 SARtendered with50 SARchange. No money moves in this isolated teaching environment.
Record a simulated cash receipt with change · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. The real payment form uses the existing authorized Facility Admin, a configured synthetic cashier location,150 SARamount and200 SARtendered with50 SARchange. No money moves in this isolated teaching environment.

5. Record one simulated cash receipt

Select Cash, Payment, Patient and the active KB SYNTHETIC Cashier location. Enter 150 SAR as Amount Paid and 200 SAR as Amount Received. The form calculates 50 SAR change. Save once with a synthetic-only note. The separate receipt view and independent database readback confirm exactly one 150 SAR receipt, 200 SAR tendered and 50 SAR returned. No money moved.

The real payment form uses the existing authorized Facility Admin, a configured synthetic cashier location,150 SARamount and200 SARtendered with50 SARchange. No money moves in this isolated teaching environment.
Record a simulated cash receipt with change · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. The real payment form uses the existing authorized Facility Admin, a configured synthetic cashier location,150 SARamount and200 SARtendered with50 SARchange. No money moves in this isolated teaching environment.
The UI reports the150 SARreceipt saved against INV-108-26. Independent database readback confirms exactly one receipt with 200 SARtendered and 50 SARchange; the success panel’s amount is the recorded payment, not tendered cash.
Verify the actual saved synthetic receipt · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. The UI reports the150 SARreceipt saved against INV-108-26. Independent database readback confirms exactly one receipt with 200 SARtendered and 50 SARchange; the success panel’s amount is the recorded payment, not tendered cash.
The separate receipt detail confirms the actual UI-created150 SARcash payment, synthetic cashier,200 SARtendered and 50 SARchange under Facility Admin authorship. It remains a simulation with no real money moved.
Verify tendered cash and change on the saved receipt · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. The separate receipt detail confirms the actual UI-created150 SARcash payment, synthetic cashier,200 SARtendered and 50 SARchange under Facility Admin authorship. It remains a simulation with no real money moved.

6. Recognize the balancing refusal without duplicating payment

Mark as balanced was attempted through the actual UI. It failed because the frontend sends account, charge_items, note and payment_terms while the backend allows only the status change on a finalized invoice. The invoice remained Issued, fully paid and zero balance; the existing receipt remained saved. Do not record another payment to solve this status update failure.

After a saved receipt, Mark as balanced sends generic invoice fields that the backend refuses on a finalized invoice. The invoice remains issued with payment retained. This screenshot records an implementation defect, not a successful balance action.
Recognize the current UI invoice balancing defect · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. After a saved receipt, Mark as balanced sends generic invoice fields that the backend refuses on a finalized invoice. The invoice remains issued with payment retained. This screenshot records an implementation defect, not a successful balance action.
Following the UI balance refusal, INV-108-26 remains Issued while its recorded payments equal150 SAR and balance is zero. A zero balance does not itself change invoice status.
Read paid amounts separately from invoice lifecycle · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. Following the UI balance refusal, INV-108-26 remains Issued while its recorded payments equal150 SAR and balance is zero. A zero balance does not itself change invoice status.

7. Distinguish the tested API continuation

An authorized integration operator separately used the normal invoice update API with a body containing only status=balanced. The request returned 200; an independent GET and refreshed UI showed Balanced. This is a tested API continuation and does not establish that the current UI balancing button works. See the dedicated troubleshooting reference for the exact contract and prerequisites.

A separate authenticated normal product API PUT containing only status=balanced succeeded after the invoice was fully paid. This refreshed UI readback does not prove the defective Mark as balanced UI action works.
Read the separately verified status-only API result · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. A separate authenticated normal product API PUT containing only status=balanced succeeded after the invoice was fully paid. This refreshed UI readback does not prove the defective Mark as balanced UI action works.

8. Close using the correct disposition

Return to the account, select Settle & Close, and deliberately choose Closed Completed for this fully settled teaching account. The initial dialog default is Closed Bad Debt, so check the choice. Close Account saved inactive status, an end date and the completed billing lifecycle.

The settled synthetic account is closed using Closed Completed. The dialog initially defaults to Closed Bad Debt, so users must deliberately choose the outcome that matches the real disposition.
Choose the completed closure outcome · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. The settled synthetic account is closed using Closed Completed. The dialog initially defaults to Closed Bad Debt, so users must deliberately choose the outcome that matches the real disposition.
Actual UI closure saved the isolated finance account as inactive/closed_completed with an end date,150 SARpaid/billed and zero balance. The invoice had been balanced through the separately documented status-only API continuation.
Verify the closed completed account · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. Actual UI closure saved the isolated finance account as inactive/closed_completed with an end date,150 SARpaid/billed and zero balance. The invoice had been balanced through the separately documented status-only API continuation.

9. Read the final facts independently

Database readback confirms inactive/closed_completed account, a balanced 150 SAR invoice, one paid charge, one 150 SAR receipt, 200 SAR tendered, 50 SAR change and zero account balance. The charge, invoice and receipt were actual UI actions; balancing used the explicitly separate authenticated API continuation; closure was an actual UI action. No bank credit, insurer response or tax filing is inferred.

Actual UI closure saved the isolated finance account as inactive/closed_completed with an end date,150 SARpaid/billed and zero balance. The invoice had been balanced through the separately documented status-only API continuation.
Verify the closed completed account · 2026-10-18. Current audited MANSOQ application in an isolated local synthetic training environment. Actual UI closure saved the isolated finance account as inactive/closed_completed with an end date,150 SARpaid/billed and zero balance. The invoice had been balanced through the separately documented status-only API continuation.

Scope of this verified example

Observed roles are Facility Admin and, for separate RCM screens, Billing Officer. The facility is a Polyclinic. Other roles, facility types, payment methods, partial/advance/refund paths, cancellations, credit notes, canonical tax documents and production exchanges require their own evidence. This narrow completed example does not close the whole billing workflow matrix.

Troubleshooting

The location list is empty

Verify direct organization/location links and active location status through your authorized facility setup process. The tested initial picker queried mine=true; existing general facility locations alone did not appear.

Fully paid still shows Issued

Payment balance and invoice lifecycle are separate. The current balancing UI defect is documented; retain the saved receipt and use your approved integration/support process.

Source evidence

References are pinned to the private MANSOQ source repository. Repository access is required to open these links.