The plot-file payment engine: schedules, reminders, recovery, transfers.
QistFlow runs the money-over-time side of plot and off-plan sales. It composes any payment plan (booking, confirmation, allocation, periodic installments, balloons, possession), generates a dated schedule per file, posts every payment against it, applies penalties automatically and turns overdue files into recovery lists. Transfers carry the remaining schedule forward under an atomic lock, so a file can never be sold twice.
- features
- 12features
- modules
- 13modules
- screens
- 5screens
- webhooks
- 12webhooks
- Inst. 7 · 05 Aug
- PKR 85,000 · paid
- Inst. 8 · 05 Sep
- PKR 85,000 · paid
- Inst. 9 · 05 Oct
- PKR 85,000 · due
- Balloon · 05 Dec
- PKR 500,000 · scheduled
- Balance
- PKR 2,975,000 · 0 days overdue
Thousands of files, one spreadsheet, no penalties
- Schedules are worked out per customer by hand and disagree with the agreement
- Late-payment surcharge is applied inconsistently, then disputed
- Recovery is random phone calls, not a list with owners and outcomes
- A file gets transferred with dues pending, or worse, sold to two buyers
How each part of QistFlow actually works
12 features from the product documentation. Select one to read what it does, the mechanism behind it, the data it holds, the state before and after, and what it connects to.
Multi-phase payment-plan engine
Down payment, confirmation, allocation, N periodic installments (monthly/quarterly/half-yearly), balloons on set months and a possession charge, defined per project and category.
Admin defines plan components per project and category: down payment %, confirmation, allocation, N periodic installments at a frequency, balloons on specific months, possession charge. The engine turns the template into a formula.
Plan template, unit price, category, down payment, installment count/frequency, balloon months and amounts, possession charge, start date.
Booking, Schedule generation, Accounts, Documents.
Plans worked out by hand per customer.
A consistent plan attached to the file at booking.
Per-file schedule generation
On booking the engine writes every installment row with due date, amount and type. The customer and the company see the same schedule.
From plan and booking date the system writes each installment row with due date, amount and type, placing balloons and possession at the right points.
Installment number, due date, amount, type (down/periodic/balloon/possession), status.
Ledger, Reminders, Statements, Recovery.
No clear schedule.
A full schedule on the file that drives reminders and aging.
Due / paid ledger with aging
Each payment posts to a specific installment. Balance, days overdue and 0–30 / 31–60 / 61–90 / 90+ buckets update live per file and portfolio-wide.
Each payment posts against a specific installment; paid amount, balance and days overdue update; aging buckets (0–30 / 31–60 / 61–90 / 90+) recompute per file and portfolio-wide.
Installment status, paid amount, payment date, balance, days overdue, bucket.
Receipts, LPS, Recovery lists, Dashboards, Accounts.
Unclear who owes what.
Real-time receivables and aging.
Receipts & online payment links
Cash, cheque, bank or gateway. A receipt is generated on posting and sent to the customer on WhatsApp; the installment marks paid.
Manual entry (cash, cheque, bank) or online via gateway or pay link. On success a numbered receipt generates, the installment marks paid and the receipt goes to the customer on WhatsApp.
Amount, method, reference, installment applied, receipt number, date.
Ledger, Documents, Accounts (bank reconciliation), Statements.
Manual receipts and reconciliation errors.
Clean, reconciled records; customer receipt delivered.
Automatic late-payment surcharge
Flat or percentage per day or month, with a grace period. Overdue installments incur LPS consistently without anyone remembering to apply it.
A configurable rule (flat or % per day/month, grace period) applies LPS automatically to overdue installments and adds it to the balance.
LPS rule, grace period, overdue days, penalty amount.
Ledger, Statements, Reminders, Reports.
Penalties forgotten or disputed.
Consistent penalties on the ledger; income captured.
Balloon & possession charges
Lump sums land on the right months; possession is blocked until balloons, possession charge and all dues are cleared.
The plan places balloons on defined months and a possession charge near completion. Possession is blocked until these and all dues are cleared.
Balloon amounts and dates, possession charge, clearance status.
Ledger, Defaulter blocking, Possession (Land Management).
Possession handed over with dues pending.
Handover only on full clearance.
Defaulter flag & blocking
Files past a set number of overdue installments are flagged. Transfers and possession are blocked until cleared; a cancellation path is available.
Rules flag files past X overdue installments or days. The flag blocks transfer and possession, surfaces the file on recovery lists and opens a cancellation path.
Default flag, overdue count, block status.
Transfers, Possession, Recovery, Refunds.
Defaulters slip through and even transfer plots.
Controlled; recovery focused; fraud transfers prevented.
Recovery-officer workflow
Monthly or on-demand recovery lists: plot, customer, dealer, amount due, phone. Assign to officers, log promise-to-pay, unreachable or paid, and measure recovery per officer.
A monthly or on-demand recovery list (plot, customer, dealer, amount due, phone) is generated and assigned to officers. Officers call or visit and log promise-to-pay, paid or unreachable with a follow-up date.
Recovery list, assigned officer, outcome, promise-to-pay, follow-up date.
Ledger, Reminders, Recovery app, Dashboards.
No organised chase; random calls.
Systematic recovery; measurable officer performance.
Reminders on WhatsApp & SMS
Before due date, on the day and after, with amount, due date and a pay link. Tone escalates with days overdue. Delivery status is recorded.
Scheduled WhatsApp/SMS templates before due, on due and after, containing amount, due date and a pay link; tone escalates with days overdue; delivery status recorded.
Reminder schedule, template, amount, due date, pay link, delivery status.
Schedule, Receipts (pay link), Recovery, Flo (timing).
Customers forget and default.
Higher on-time collection; fewer manual chases.
Customer statements
Plan, paid installments, penalties and balance as PDF or in the customer app. Fewer "how much have I paid?" calls, fewer disputes.
A statement (plan, paid installments, penalties, balance) generates as PDF or in the customer app and is shareable on WhatsApp.
Full ledger for the file, penalties, balance.
Ledger, Customer app, Documents.
“How much have I paid?” phone calls.
Transparency, fewer disputes, self-service.
File transfers with atomic lock
Remaining schedule carries forward with balance, transfer fee applies, the Transfer Deed generates. Blocked if the file is a defaulter or has dues.
A transfer moves the file to a new owner: an atomic lock prevents simultaneous sale or transfer; dues and defaulter checks run; the remaining schedule carries forward with balance; the fee applies; the Transfer Deed generates.
Old/new owner CNIC, remaining schedule, balance, transfer fee, deed, lock state.
Inventory, Ledger, Documents, Defaulter, Fraud detection.
Manual transfer with double-sale risk.
Secure, documented ownership change.
Refunds, cancellations & clawback
Refundable amount computed per policy, approval routed, unit released to inventory and dealer commission clawed back in one workflow.
Cancellation computes the refundable amount per policy (deductions, penalties), routes approval, releases the unit to inventory and reverses dealer commission.
Paid amount, deductions, refund amount, approval, inventory release.
Inventory, Commission (clawback), Accounts, Documents.
Messy manual cancellations.
Clean reversal; the unit is resellable.
13 modules, switched on per role. Admins configure rules; everyone else sees only what applies to them.
- Payment-Plan Engine
- Schedule Generation
- Due/Paid Ledger
- Receipts & Online Payments
- LPS / Penalty
- Balloon & Possession
- Defaulter Management
- Recovery-Officer Workflow
- WhatsApp/SMS Reminders
- Customer Statements
- Refunds & Cancellations
- File Transfers
- Duplicate / Fraud Detection
One file, start to finish.
A realistic sequence from the documentation, with the state before and after each step. Names and numbers are illustrative.
Recovery-officer app (assigned list, call, log outcome, mark collected, offline); customer app (schedule, pay, receipts, statement); dealer portal.
- 01
Booking confirmed
Plot 14-C, 10 Marla, Category B. The agent selects the 36-month plan: 20% down, 34 monthly installments, two balloons in months 12 and 24, possession charge at month 36.
- 02
Schedule generated
Thirty-eight dated rows are written to the file. The agreement prints the same schedule. The customer sees it in the app.
- 03
Reminders run
Three days before each due date a WhatsApp template goes out with the amount and a payment link; again on the day; again after.
- 04
Payment posts
The customer pays PKR 85,000 by bank transfer. Finance posts it against installment 7; the receipt is sent automatically; the ledger updates.
- 05
Overdue handling
Installment 9 passes its 10-day grace. LPS of 0.1% per day applies and shows on the next reminder and the statement.
- 06
Recovery list
On the 1st, the file appears on the recovery list with the dealer’s name. Officer R. Sheikh logs a promise-to-pay for the 15th.
- 07
Transfer
Two years in, the owner sells. Dues are clear, the lock is acquired, the remaining 14 installments move to the new CNIC, the fee posts and the deed generates.
- 08
Possession
Balloons and possession charge cleared. The possession checklist opens and handover is documented.
QistFlow, screen by screen
Click the sidebar to move between the overview, lists, records, boards and the settings that drive the rules. Sample data on real layouts.
Receivables & recovery
Green Valley · Phases 1–3 · 4,812 active files- 0–30 days26844%
- 31–6017428%
- 61–909616%
- 90+7312%
| File | Customer | Dealer | Due | Overdue | Outcome |
|---|---|---|---|---|---|
| GV2-0417 | M. Tariq | Al-Noor Estate | 170,000 | 38 d | Promise · 15 Sep |
| GV1-1122 | S. Abbas | Direct | 255,000 | 64 d | Unreachable |
| GV3-0088 | N. Qureshi | City Marketing | 85,000 | 12 d | Paid |
| GV2-0930 | A. Rehman | Al-Noor Estate | 340,000 | 97 d | Defaulter · blocked |
| GV1-0655 | F. Iqbal | Direct | 85,000 | 21 d | Callback |
Installment files
Phase 2 · 1,140 files| File | Plot | Customer | Plan | Paid | Balance | Overdue | Status |
|---|---|---|---|---|---|---|---|
| GV2-0417 | 14-C | Ahsan Raza | 36-mo · B | 1,700,000 | 2,975,000 | 0 d | Current |
| GV2-0930 | 88-D | A. Rehman | 36-mo · B | 850,000 | 3,825,000 | 97 d | Defaulter · blocked |
| GV1-1122 | 07-A | S. Abbas | 24-mo · A | 2,450,000 | 1,550,000 | 64 d | Overdue |
| GV3-0088 | 118-C | N. Qureshi | 36-mo · B | 1,275,000 | 3,400,000 | 12 d | Overdue |
| GV2-0655 | 221-F | F. Iqbal | 48-mo · K | 4,300,000 | 5,900,000 | 21 d | Overdue |
| GV2-1187 | 52-B | Rabia Anwar | 36-mo · B | 850,000 | 3,825,000 | 0 d | Current |
| GV1-0102 | 03-A | R. Chaudhry | 24-mo · A | 4,000,000 | 0 | — | Possession |
| GV2-0771 | 201-F | Kamran Shah | 48-mo · K | 1,720,000 | 8,480,000 | 5 d | Reminder sent |
File GV2-0417 · Plot 14-C
36-month plan · Category B · 10 Marla corner · booked 05 Jan 2026- 05 JanBooking · down payment PKR 935,000 · receipt R-71120
- 05 Feb–05 SepInstallments 1–8 paid on time · receipts sent on WhatsApp
- 02 SepReminder (pre-due) delivered · read
- 05 SepInstallment 8 · PKR 85,000 · bank transfer · matched to HBL line 2291
- 02 OctNext reminder scheduled · template “inst_due_3d”
- 05 DecBalloon 1 · PKR 500,000 scheduled
- Customer
- Ahsan Raza
- CNIC
- 35202-•••••-1
- Dealer
- Al-Noor Estate
- Agreement
- Signed · SA-v4
- Transfer
- Allowed (no dues)
Recovery list · October
Generated 01 Oct 00:05 · 611 rows · 4 officers| File | Customer | Dealer | Phone | Due | Overdue | Last outcome | Next |
|---|---|---|---|---|---|---|---|
| GV2-0930 | A. Rehman | Al-Noor Estate | +92 300 •••1120 | 340,000 | 97 d | Unreachable ×3 | Field visit 03 Oct |
| GV1-1122 | S. Abbas | Direct | +92 321 •••5533 | 255,000 | 64 d | Promise 15 Sep · missed | Call today |
| GV3-0088 | N. Qureshi | City Marketing | +92 333 •••8804 | 85,000 | 12 d | Callback requested | Call 2 pm |
| GV2-0655 | F. Iqbal | Direct | +92 301 •••3390 | 85,000 | 21 d | Promise 05 Oct | Wait |
| GV2-0771 | Kamran Shah | Skyline Estate | +92 345 •••7712 | 170,000 | 5 d | Paid partial 50,000 | Balance reminder |
| GV1-0655 | F. Iqbal | Direct | +92 312 •••2201 | 85,000 | 21 d | Callback | Call today |
Payment plans & rules
Per project and category · drives every schedule- Down payment
- 20% at booking
- Confirmation
- 5% within 30 days
- Periodic
- 34 × monthly · PKR 85,000
- Balloons
- Month 12 · 500,000 · Month 24 · 500,000
- Possession charge
- PKR 350,000 at month 36
- Grace
- 10 days
- Rate
- 0.1% per day on overdue amount
- Cap
- 15% of installment
- Waiver approval
- Finance head
- Pre-due
- 3 days before · WhatsApp template inst_due_3d
- On due
- WhatsApp + SMS with pay link
- Post-due
- Day 3, 10, 20 · escalating tone
- Defaulter flag
- 3 installments or 90 days overdue → block transfer & possession
Scheduled to email or exported to Excel and PDF. Every report drills down to the record.
- Receivables aging (0–30 / 31–60 / 61–90 / 90+)
- Collections vs target, daily and monthly
- Overdue and defaulters list
- Recovery-officer performance and recovery %
- LPS / penalty income
- Projected cash flow from schedules
- Dealer-wise recovery
- Phase and category-wise outstanding
Who uses it, and what each role sees
Access is scoped by role, team and field. A dealer never sees another dealer’s file; an agent never exports the database.
Finance / accounts
Ledger, receipts, LPS rules, refunds, bank posting
Recovery officer
Assigned list, tap-to-call, outcome logging, offline
Sales / booking
Plan selection at booking, schedule preview
Dealer
Recovery status of own files; commission tied to collection
Customer
Schedule, receipts, statement and pay link in the app
Management
Receivables aging, collections vs target, defaulters, officer performance
| Module | View | Create / edit | Approve | Export | Configure | Delete |
|---|---|---|---|---|---|---|
| Payment-Plan Engine | OwnOwnOwnTeamAllAll | OwnOwnOwnTeam—All | —————All | —————All | —————All | —————All |
| Schedule Generation | OwnOwnOwnTeamAllAll | OwnOwnOwnTeam—All | —————All | —————All | —————All | —————All |
| Due/Paid Ledger | OwnOwnOwnTeamAllAll | OwnOwnOwnTeam—All | —————All | —————All | —————All | —————All |
| Receipts & Online Payments | OwnOwnOwnTeamAllAll | OwnOwnOwnTeam—All | —————All | —————All | —————All | —————All |
| LPS / Penalty | OwnOwnOwnTeamAllAll | OwnOwnOwnTeam—All | —————All | —————All | —————All | —————All |
| Balloon & Possession | OwnOwnOwnTeamAllAll | OwnOwnOwnTeam—All | —————All | —————All | —————All | —————All |
Own = only records assigned to me · Team = my team’s records · All = the whole organisation. Field-level rules can further hide price, owner or CNIC per role.
Toggle to see how each control changes the posture score. Defaults shown are our recommended configuration.
Every action writes an entry with actor, entity, before and after value and time. Entries cannot be edited or deleted, only exported. Try it: perform an action.
- 12:04:11S. KhanBooked plot 14-C · QistFlow
- 12:03:48SystemLock acquired · unit 14-C
- 11:58:02A. ButtApproved discount 5% · AP-2291
- 11:41:30H. MalikExported leads (team, 84 rows)
- 11:20:15AdminChanged role: F. Noor → Field agent
- 10:15:07SystemBlocked transfer · GV2-0930 (defaulter)
What happens without anyone clicking
Rules run the routine work. Flo, the AI assistant, handles the parts that need language or judgement, and every AI action is logged.
Automations
- Schedule generation on booking
- Reminders before, on and after due date
- LPS after grace period
- Defaulter flagging and blocking
- Receipt generation and WhatsApp delivery
- Monthly recovery-list generation
- Commission clawback on cancellation
Flo in QistFlow
- Default-risk prediction per file
- Recovery prioritisation (who to call first)
- Optimal reminder timing and channel
- Duplicate and fraud anomaly detection
- Cash-flow forecasting
Outbound WhatsApp uses approved templates. Low-confidence cases escalate to a person.
Connects to anything, not just the list
Every connector in the catalogue, the full REST API and a webhook for every state change. If it has an API, EstateFlow talks to it.
Every connector below is available to QistFlow. Those most used with it are highlighted; anything not listed connects through the REST API, webhooks or Zapier / Make / n8n.
- Zameen
- Bayut
- Graana
- OLX Property
- Meta Lead Ads (Facebook, Instagram)
- Google Ads lead forms
- TikTok lead forms
- Website forms
- Landing-page builders
- Chat widget
- QR / offline import (CSV, Excel)
- WhatsApp Business API (Meta Cloud API or any BSP)
- SMS gateways (Telenor, Jazz, Zong, Ufone, Twilio)
- Email (SMTP, Gmail, Outlook, SendGrid)
- VoIP / cloud PBX (SIP, Asterisk, Twilio Voice)
- Call tracking numbers
- Push notifications (FCM, APNs)
- Payment gateways (PayFast, Safepay, JazzCash, Easypaisa, Stripe)
- Bank transfer / IBFT references
- Pay links
- Bank statement import (CSV, MT940)
- Bank feeds (Enterprise)
- POS terminals
- QGIS projects (.qgz)
- PostGIS
- GeoServer (WMS / WFS)
- Shapefile, GeoJSON, KML, DXF / CAD import
- Mapbox, Leaflet, OpenLayers clients
- ArcGIS / Esri (Enterprise)
- Satellite imagery providers
- GPS from field devices
- QuickBooks
- Xero
- Sage
- Odoo
- Tally
- SAP / Oracle / Dynamics (Enterprise)
- FBR e-invoicing
- Excel / CSV export for any ledger
- CNIC OCR
- NADRA verification partners
- DocuSign
- Adobe Sign
- PandaDoc
- Google Drive
- OneDrive / SharePoint
- Dropbox
- S3-compatible storage
- Biometric devices (ZKTeco, Hikvision)
- Bank payroll files
- Google Workspace / Microsoft 365 directories
- SSO: SAML, OIDC, Azure AD (Enterprise)
- Boom barriers & RFID
- ANPR cameras
- Smart meters (electricity, water, generator)
- IoT sensors (MQTT)
- Sales-centre kiosks & touch tables
- Digital signage
- Power BI
- Tableau
- Looker Studio
- Metabase
- Zapier
- Make
- n8n
- Google Sheets
- Slack / Teams alerts
- Everything in the UI is available through the REST API: read, create, update, and the same approvals and locks apply.
- Every state change emits a webhook within seconds, with a signed payload and automatic retries.
- Per-organisation API keys with scopes per module; OAuth 2.0 for partner apps; rate limits published per plan.
- JSON over HTTPS, cursor pagination, filtering and sorting on every list endpoint, bulk endpoints for imports.
- Sandbox organisation for testing; OpenAPI 3.1 specification and Postman collection; changelog with versioned endpoints (/v1).
- /v1/files
- /v1/plan-templates
- /v1/schedules
- /v1/installments
- /v1/payments
- /v1/lps
- /v1/recovery-lists
- /v1/statements
- /v1/transfers
- /v1/refunds
Each resource supports list, get, create, update and (where allowed) delete, with the same permissions and approvals as the UI.
/v1/files/{id}/paymentsPost a payment from a bank, gateway or counter system
/v1/files/{id}/statement?format=pdfCustomer statement
/v1/recovery-lists?month=2026-10&officer={id}Recovery list rows for a field app
/v1/transfersStart a transfer (lock, dues check, carry-forward, deed)
curl https://api.estateflow.live/v1/files/{id}/payments \
-H "Authorization: Bearer ef_live_•••" \
-H "Content-Type: application/json" - file.created
- schedule.generated
- installment.due
- installment.overdue
- payment.posted
- receipt.issued
- lps.applied
- reminder.sent
- reminder.delivered
- file.flagged_defaulter
- transfer.completed
- refund.approved
Every state change in every product emits an event. Subscribe per event type, per project or for the whole organisation. Signed with HMAC-SHA256, retried with backoff for 24 hours, replayable from the dashboard.
POST https://your-server.example/estateflow
X-EstateFlow-Signature: sha256=3c9a…12ff
Content-Type: application/json
{
"id": "evt_01J8Z6M9QK",
"type": "booking.created",
"occurred_at": "2026-09-06T07:04:12Z",
"organisation": "green-valley",
"data": {
"booking_id": "BK-2026-0417",
"unit": { "id": "14-C", "project": "phase-2", "block": "C", "size": "10 Marla" },
"customer": { "id": "c_88112", "name": "Ahsan Raza" },
"plan": "36m-cat-b",
"net_price": 4441250,
"agent": "u_0142",
"dealer": "d_al-noor"
}
} Connected EstateFlow products
- CRMEvery lead answered in seconds, tracked to booking.
- AccountsBooks that post themselves from bookings, receipts and purchases.
- MapsThe society map, alive: every plot coloured by real status.
- Documents & ContractsAgreements, deeds and receipts that generate themselves, signed with a trail.
- Agent & Buyer AppsThe CRM in the agent’s pocket. The scheme in the buyer’s.
- ERPOne inventory, one booking process, one set of numbers.
QistFlow runs standalone or with the rest of the suite on the same database. Quotes are per organisation, based on users, plots and files.
- Demo on your own data
- Data migration from spreadsheets or your current system
- Onboarding and WhatsApp template approval
About QistFlow
01 Can QistFlow handle plans that are not a simple monthly EMI?
Yes. A plan is composed from components: down payment, confirmation, allocation, periodic installments at any frequency, balloons on named months and a possession charge. Each project category can have its own plan.
02 How are penalties applied?
A rule per project sets the grace period and a flat or percentage surcharge per day or month. Once an installment passes grace, LPS posts automatically to the ledger and appears on reminders and statements.
03 What stops a file being transferred twice or sold to two people?
Every transfer and booking acquires an atomic lock on the unit. Duplicate CNIC and duplicate file checks run in real time, and a defaulter flag blocks transfer and possession until dues clear.
04 Do recovery officers need connectivity in the field?
No. The recovery app caches the assigned list, lets officers call, log outcomes and mark collections offline, and syncs when the phone reconnects.
See QistFlow on your own data.
A 45-minute demo on your own data. We load a sample of your inventory and files before the call, so you see your plots, your plans and your numbers, not a sample scheme.
- One block of your scheme digitised on the live map
- A booking → schedule → WhatsApp reminder, end to end
- A file transfer with the lock and dues check
- A rollout order and a written quote within two days