Before any number is committed
Grouped by what each answer changes. The five in section A are genuinely blocking: without them a fixed price is a guess. Everything else moves the number or the timeline, and none of it should be discovered in week five.
Each of these can change the project's shape, not just its price. Answer these before sending any number at all.
There is no public LHDN API for third party submission. If they are expecting automated filing, the project as described does not exist and the conversation restarts.
If automated: not buildable, renegotiate entirely
Under self assessment the filer is liable for underpayment. This needs to be their tax agent, in writing, not our reading of the Stamp Act.
If unanswered: we carry tax liability we are not insured for
The back office is most of the work and the brief covers it in one line. Everything we have designed is inferred from the reference site.
If not shared: quote becomes a range, not a fixed price
Shared cPanel hosting rules out Node entirely. If it is a VPS and they are flexible, a modern stack is the better engineering answer. Either way, the transactional core needs its own database tables, not WordPress post meta.
Changes: architecture, timeline, and who can maintain it later
Malaysia's e-Invoice mandate exempts businesses under RM1m turnover, but requires real time submission to MyInvois above it. At year two volume the gross collected is around RM2.5m a year even though revenue is closer to RM240k. If gross counts, every transaction needs an e-Invoice cleared through MyInvois, which is a significant integration not in any current estimate.
If in scope: add MyInvois integration, material cost and timeline impact
None of these stops a quote, but each one changes it. Get them before the number is fixed rather than after.
Partly answered: the revised brief confirms the audience is property agents generally, not one agency, so the public site is needed. What is still open is whether anyone can walk up, or whether agencies get approved and issued access. Approval implies accounts, per agency reporting and possibly volume pricing.
If approval: accounts become required rather than optional
The reference site has no login, so an agent doing fifteen jobs a month retypes everything every time. Saved profiles are the highest value item in the whole scope for a repeat B2B audience. Recommendation is guest submission plus an optional account.
Adds: roughly RM3,000 to the quote
At RM15 profit a job, a single RM254 shortfall erases the margin on seventeen jobs. There is no safe default, and "chase it" means building a top up payment flow.
If chase: top up flow, second payment linked to one reference
The reference site promises acknowledgement in 3 working days and completion in 5, and makes both refundable. Since LHDN itself takes ten minutes, a single "done in 2 working days" promise would beat every competitor at no operational cost.
If yes: SLA clock, ageing indicators, pause rules, holiday calendar
Without a pause, a job delayed three days by the agent's own mistyped rent becomes the client's refund liability. Holidays differ by state and are sometimes declared at short notice, so the calendar has to be editable.
Adds: pause logic plus an admin holiday calendar
Their published policy only refunds when the operator fails, so volume is low and manual handling with a recorded status is probably enough. Some gateways have no refund API at all.
If manual: saves roughly two days
Worth roughly one salary at year two volume, but the schema has to come from inside a live e-Duti Setem account. Cannot be fixed price until it is in hand.
Quote as: phase two or time and materials
The template is about 48 merge fields. The risk is not the merge, it is the legal content, and that needs a lawyer's sign off once. Stamping is compulsory for every tenancy; drafting is optional, so it is the smaller volume with the fatter margin.
If yes: document generation, plus their lawyer supplies the template
Roughly nine in ten tenancies fit the template; the tenth has negotiated terms. The incumbent built this and it has been down for maintenance. Safe design generates automatically but routes anything with special conditions to a human.
If yes: Tier C territory, plus mandatory human review on flagged drafts
The reference site is bilingual on every label. If the same is expected, it is not a free addition and it affects the Figma too.
Per extra language: real cost across every page and email
An agency clearing twenty deals at month end will not enjoy twenty separate form fills. This is the most likely "can you just add" request in month two, so price it now or exclude it explicitly.
If yes: multi submission flow, a distinct feature
Malaysian agents live on WhatsApp and may simply not read email, in which case they phone anyway and the tracking page saves nobody any time. WhatsApp Business API works far better but adds template approval and per message fees.
If WhatsApp: separate line item plus ongoing per message cost
Employment contracts, loan agreements and other instruments also require stamping, and employment contracts are high volume at a flat rate. The same platform could serve a much larger market with modest extra work on the calculator.
If yes: multi instrument calculator, and a bigger business
Questions about the deal rather than the software. Each one quietly changes what you take home.
Completely different outcomes. Taken off means we must gross up every figure; added on top means our number stands as quoted.
If taken off: every price rises by 11.1%
A recurring cut on a recurring fee compounds for the life of the relationship.
If recurring: maintenance goes from RM800 to RM900 a month
Straightforward once asked, expensive if assumed.
Determines who owes us money, who signs off scope changes, and who we chase if payment is late. Also determines who we can talk to directly, which matters for Section A.
Changes: the contract, the risk, and the escalation path
Quoting a tax inclusive number by accident hands over another slice on top of the middleman's cut.
The duty schedule changed in 2025 and the filing system in 2026. "We keep your rates legally current" is a far easier retainer to sell than generic hosting support, and it is genuinely needed here.
Proposal: RM800 to RM900 a month including rate maintenance
Standard, but say it out loud before work starts rather than at invoice time.
None of this is our job to decide, and all of it becomes our problem if nobody decides it.
Malaysia restricts non lawyers from preparing certain legal documents for payment. The incumbent charges RM50 for exactly this, so someone has presumably taken a view, but that is not evidence they are right.
If not cleared: the drafting product may not be offerable at all
PDPA obligations attach specifically to these files. The build needs a stated retention period, role based access, and an access log. We need their policy, not our guess.
Drives: auto deletion rules, access roles, audit logging
Four of the ten pages are legal documents. Writing them is not a developer's job and we should not be drafting the terms of a payment service.
Excluded from our scope
A payment gateway will require both. Without them there is no merchant account and no launch.
That login opens the company's entire tax account, not just stamping. It should never be stored in our system or in any automation tool.
Confirms: the platform never touches MyTax credentials
At year two volume roughly RM189,000 a month of the government's money passes through against about RM20,000 of actual revenue. It is a liability, not income. Not our decision, but the reconciliation screen we build should reflect however they handle it.
Drives: the duty collected versus duty paid reconciliation view
Determines whether agent accounts matter on day one, and whether any growth projection is believable. The incumbent has been trading since 2018 and still uses a Gmail address, which suggests distribution is the hard part, not the software.
Fifty a month and five hundred are different admin designs. With batch export one person handles about a thousand jobs a month; without it, that needs three.
Agents claiming this as a business expense will want one. Relevant regardless of the e-Invoice answer in Section A, and it needs to separate the duty from the fee since only the fee is a supply.
Historical applications, an agent list, or a spreadsheet of past jobs. Migration is never free and is never in the brief.
Agents work from phones. A desktop only Figma with no error states means we design by default and get corrected in UAT, which is the most expensive place to find out.
Missing copy stalls week two. Logos, fonts and colours are needed at week one.
Also worth knowing whether they want a soft launch with one pilot agency before opening it up. That is the cheapest way to find the workflow problems.
Do not send 38 questions to a middleman. Send these six, get a call, and work through the rest live.
Hi, I have been through the brief and the tenancy.my reference in detail. It is a well defined project and we can build it. Before I put a firm number on it there are six things I need confirmed, because each one changes the price or the shape of the build. 1. Stamping. LHDN has no API for third party submission, and since January 2026 it runs through self assessment on MyTax. So the platform can take the application and the payment, but a staff member still files it manually and uploads the certificate back. Can you confirm the client understands it works this way? 2. The duty calculation. The rates changed on 1 January 2025, and the reference site has not fully updated. We will build to the current schedule, but under self assessment the filer carries the liability, so we need the client's tax agent to sign off the formula in writing. 3. Is this open to all property agents, or only their own agency? It changes roughly half the front end. 4. Can I see the Figma and the functional spec? The back office is the bulk of the work and the brief covers it in one line. 5. Is WordPress a firm requirement, and what is the hosting? Shared hosting rules out some options entirely. 6. Is their annual turnover above RM1 million? If so, Malaysia's e-Invoice mandate applies and every transaction needs to clear through MyInvois, which is a significant addition. On budget, a build of this shape sits in the RM18,500 to RM29,500 range depending on how much of the back office is purpose built and whether agents get logins. On timing, four weeks from design approval only works if the final Figma, the signed spec, live gateway credentials and hosting are all in place on day one and the scope is frozen. I would plan for six weeks. Happy to get on a call with the client directly, particularly on point one.
One posture note. Everything we have designed is inferred from the reference site, because the client's own spec has not been shared. Show them the screens and ask which parts are wrong. Whichever screen they argue with is the one where their requirement differs from our guess, and that is worth more than any questionnaire.