You've found the right contractor in Bandung. Their rate is clean, their portfolio is solid, and they're ready to start Monday. Then your accountant asks: "Do you have their NPWP? Have you validated the format? Where are you withholding the tax?" And suddenly you're three days into research with no clear answers. Indonesia's contractor tax system is not optional—it's hardcoded into your invoicing workflow, your payment authorization, and your annual compliance. Get NPWP withholding wrong and you face audit friction, rejected invoices, and penalties. Get it right and you onboard a contractor in 14 days with zero rework. This guide walks you through the exact field mapping, withholding percentages, and validation steps that actually work—plus the checklist and real-world rejection examples that cost most teams a month in back-and-forth. What NPWP is, and why it breaks your payment flow NPWP (Nomor Pokok Wajib Pajak) is Indonesia's 15-digit taxpayer identity number. It's issued by the Directorate General of Taxes (DJP) and is mandatory for anyone earning taxable income in Indonesia—including contractors. Here's where most teams stumble: the NPWP format is rigid. A malformed or unvalidated NPWP will cascade through your invoicing system, trigger payment holds, and force manual corrections. Worse, you may not discover the problem until reconciliation time, when your accountant flags the invoice during tax filing. The structure of an NPWP is: Digits 1–2: Initial identity number (derived from the contractor's ID card) Digits 3–5: Sequence number assigned by the tax office Digits 6–9: Facility code (usually 0001 for the main tax office) Digits 10–15: Check digits and serial Format in the real world: 12.345.678.9-101.000 (with dashes and periods). When you strip formatting for storage or validation, it becomes: 123456789101000 . The most common rejection: A contractor pastes their NPWP with spaces or inconsistent punctuation. Your invoicing system accepts it but the tax authority's validation API rejects it on submission. You don't find out until after payment is due. Indonesia's withholding tax rules: percentages and thresholds Indonesian contractor payments are subject to withholding tax. The rate depends on the nature of the work and whether the contractor is registered as an active taxpayer. Standard withholding rates: 4% withholding (most common): Services, consultancy, freelance work. Applied to contractors who are active taxpayers with a valid NPWP. 6% withholding : Independent contractors without an active NPWP or those not registered as service providers. 15% withholding : Rental income, royalties, or specific service categories (rare for typical contractor relationships). The withholding is your responsibility—not the contractor's. You hold the tax on the invoice amount, remit it to the government, and issue a tax receipt (Bukti Potong Pajak). The contractor receives the net amount. Example: A contractor invoices you for IDR 10,000,000. At 4% withholding, you withhold IDR 400,000, pay the contractor IDR 9,600,000, and remit IDR 400,000 to the government within 10 days of payment. Most invoicing and accounting platforms do not calculate or enforce withholding automatically—you must configure it in the contractor payment fields. This is where the checklist saves you. The 14-day contractor onboarding checklist Follow this sequence to avoid the most common rejections and delays: Days 1–3: Contractor information gathering Request the contractor's full legal name (as it appears on their ID card) Ask for their NPWP number in full format (they will often paste it with dashes and spaces) Confirm their business status: Are they registered as a CV, PT, or sole proprietor? Is their NPWP active and current? Request a scanned copy of their NPWP certificate or tax registration card Confirm their bank account details for payment (name on account must match their legal name) Days 4–6: NPWP validation and system setup Log into your invoicing system and create the contractor's record In the contractor profile, locate the Tax ID or NPWP field Strip formatting and enter the 15-digit NPWP (without dashes or spaces) If your system offers validation, trigger it now—if it fails, ask the contractor to verify directly with their local tax office Set the Withholding Rate to 4% (or the appropriate rate if different) Confirm the contractor's registration status (active NPWP vs. non-active) and document it Days 7–10: Invoice template and field mapping Create an invoice template that includes the fields: Contractor NPWP (in formatted display: 12.345.678.9-101.000) Withholding rate and amount (e.g., "4% withholding: IDR 400,000") Net invoice total (gross minus withholding) Payment date (for withholding remittance tracking) Test the template by creating a draft invoice and cross-checking all fields Ensure your accounting system (e.g., Orin's finance module , QuickBooks, or Xero) is configured to track withholding as a liability account, no