Your contractor's first payment is due Friday. You've collected their NPWP (Nomor Pokok Wajib Pajak—Indonesia's tax ID), fed it to your system, and hit send. Then: nothing. No confirmation. No validation error. Just a note in your payroll queue that says 'pending batch check—72 hours.' By Tuesday, the batch job runs. The NPWP is invalid (typo in digit 3), and the contractor never gets paid. By the time you catch it Wednesday and loop the contractor back in, you're two weeks into the relationship and already behind on trust. This is the cost of batch NPWP validation. It's cheap upfront—often free within whatever payroll platform you use—but it's expensive in friction, rework, and relationship damage. Real-time validation fixes this in minutes and costs ₹500–₹1,200 per integration setup. How batch NPWP validation actually works (and why it fails) Most payroll and contractor management platforms validate NPWP in two ways: Format-only checks: Does the number have 15 digits? Does the checksum math out? This catches typos but not fake IDs. Batch queries to LHDN (Direktorat Jenderal Pajak): Once a day or once a week, the system bundles all pending NPWPs and runs them against Indonesia's tax authority database. Results come back hours or days later. The format check works instantly. The batch check doesn't. And here's the gap: a valid 15-digit number with correct checksum can still be fake, inactive, or attached to a different person. You won't know until the batch job runs. Why do platforms batch-check? Cost and API access. LHDN doesn't publish a free public validation API. Third-party vendors charge per lookup, sometimes ₹50–₹200 per check. Running 50 contractor validations in batch (once daily) costs ₹2,500–₹10,000 monthly—which payroll platform wants to bill that back to the customer? So they batch it. You wait. The contractor waits. And if the NPWP is bad, you start over. Real-time validation: the three API sources and their costs Three paths exist to validate NPWP in real-time (within seconds): 1. LHDN's official NPWP web portal (free, slow) LHDN runs a public NPWP lookup portal at pajak.go.id . It's free and authoritative. It's not designed for API integration—you'd need to scrape the HTML form, submit the NPWP, and parse the response. It takes 2–5 seconds per lookup and will block you if you hammer it with concurrent requests. A contractor management platform could implement this for free but would burn dev time and face rate-limit friction at scale. Verdict: viable for 10–20 validations daily, not for a SaaS with hundreds of contractors. 2. Third-party validation vendors (₹50–₹200 per lookup, real-time) Indonesian fintech and compliance platforms—like Privy, Xendit, Doku, and a handful of smaller vendors—resell validated access to NPWP data. They maintain agreements with LHDN (or work through scraped / cached data refreshed regularly). They offer APIs with 500ms–2s response times. Typical pricing: Xendit: ₹50–₹100 per validation (as of early 2025). Doku: ₹60–₹120 per validation (volume discounts available). Privy: ₹80–₹150 per validation. At 50 contractors onboarded monthly, that's ₹2,500–₹7,500 a month. At 500 contractors, ₹25,000–₹75,000 monthly. Setup cost: ₹500–₹1,200 for API integration, testing, and error handling. Done in 2–5 days. Verdict: expensive at high volume but reliable and real-time. Often bundled into a contractor onboarding flow. 3. Regional KYC platforms (₹100–₹300 per full check, real-time + ongoing monitoring) If you're validating not just NPWP but also passport, address, and ongoing sanctions screening, platforms like Lemonade, Sumsub, or Jumio—which operate in Southeast Asia—bundle NPWP validation into broader identity verification. Costs ₹100–₹300 per person per validation. Why pay more? Because you get fraud scoring, sanctions checks, and a compliance audit trail. If a contractor is later flagged by Indonesian authorities or international sanctions lists, you have documentation that you did real-time due diligence. Verdict: overspecified for a simple NPWP check but necessary if you're validating international contractor networks. Real-time vs. batch: the 72-hour math Here's what 72 hours of delay costs in a realistic scenario: Day 1 (Friday): You onboard a contractor. Batch NPWP check is queued. No error yet—you haven't checked. Day 2 (Saturday): Batch job runs. NPWP is invalid or inactive. Payment doesn't go through. No notification to the contractor yet. Day 3 (Monday): You discover the failed validation and reach out to the contractor. They're frustrated—they expected payment Friday. You ask them to verify their NPWP. Day 4–5 (Tuesday–Wednesday): Contractor re-submits (or calls with the correct number). You re-feed it to the batch system. You're now waiting another 24 hours. Day 6–7 (Thursday–Friday): Second batch runs. Payment finally clears. Net result: one-week delay for a single typo. Multiply that by ten contractors in a month, and you're managing 10 weeks of aggregate cont