@dedesfr/prompter 0.8.15 → 0.8.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -63,31 +63,34 @@ Collect what you need to fill the template. Don't over-interrogate — ask for t
63
63
 
64
64
  | Field | Indonesian label | English label |
65
65
  |---|---|---|
66
- | Scope of work | Lingkup Pekerjaan | Scope of Work |
67
- | Deliverables | Hasil Pekerjaan / Deliverables | Deliverables |
68
- | Phases / milestones | Tahapan & Termin | Phases & Milestones |
69
- | Project duration | Estimasi Durasi Proyek | Project Timeline |
70
- | Revisions | Jumlah Revisi | Revision Rounds |
71
- | Assumptions | Asumsi | Assumptions |
72
- | Exclusions | Pengecualian / Di Luar Lingkup | Exclusions / Out of Scope |
66
+ | Project background | Latar Belakang Proyek | Project Background |
67
+ | Executive summary | Ringkasan Eksekutif | Executive Summary |
68
+ | Product type, users, platform, tech stack | Tipe Produk, Pengguna, Platform, Teknologi | Product Type, Users, Platform, Tech |
69
+ | Pain points / challenges | Tantangan / Masalah yang Diselesaikan | Pain Points / Challenges |
70
+ | Solution overview | Solusi Sistem | Solution Overview |
71
+ | Scope of work | Scope of Work | Scope of Work |
72
+ | Project deliverables | Project Deliverables | Project Deliverables |
73
+ | Payment terms (termin) | Termin Pembayaran | Payment Milestones |
74
+ | Warranty | Garansi | Warranty |
73
75
 
74
76
  If the user supplies only some of these, fill the rest with sensible placeholders (e.g., `[Nama Klien]`, `[YYYY-MM-DD]`) so the document is still usable as a draft.
75
77
 
76
- ### 3. Build the line items table
78
+ ### 3. Build the cost table
77
79
 
78
- Each item line has: **No. | Deskripsi | Qty | Satuan | Harga Satuan | Subtotal**.
80
+ **Goods mode** each row: `No. | Deskripsi | Qty | Satuan | Harga Satuan | Subtotal`. Compute subtotals, PPN, and grand total inline.
79
81
 
80
- Calculate:
81
- - `Subtotal per line = Qty × Harga Satuan`
82
- - `Subtotal keseluruhan = Σ subtotal per line`
83
- - `PPN = Subtotal × tax_rate` (default 11% for Indonesia; 0 if user says "tanpa PPN" or for non-ID English-language quotes unless specified)
84
- - `Total = Subtotal + PPN - Diskon (jika ada)`
82
+ **Services mode** — each row: `No. | Deskripsi Pekerjaan | Waktu | Biaya (IDR)`. This reflects how service work is scoped — by effort/duration, not unit price. Rules:
83
+ - "Waktu" = duration, e.g. `10 Hari Kerja`, `2 Minggu`
84
+ - "Biaya" = lump sum for that work package
85
+ - Grand total row: `**TOTAL INVESTASI** | | **X Hari Kerja** | **Rp X**`
86
+ - PPN / tax goes in the **Keterangan** below the table (not as a separate table row) — common practice in Indonesian service proposals. State whether price is inclusive or exclusive of tax.
87
+ - Termin pembayaran also goes in Keterangan as a numbered list: DP %, mid %, final %
85
88
 
86
89
  Format currency cleanly:
87
- - IDR → `Rp 1.500.000` (titik sebagai pemisah ribuan, tanpa desimal)
88
- - USD/EUR → `$1,500.00` / `€1,500.00`
90
+ - IDR → `Rp 90.000.000` (titik sebagai pemisah ribuan, tanpa desimal)
91
+ - USD/EUR → `$90,000.00` / `€90,000.00`
89
92
 
90
- Do the arithmetic yourself and double-check the totals before writing the file. A wrong total in a price quote is the most embarrassing failure mode of this skill.
93
+ Verify the total before writing. Also verify that payment termin percentages add up to 100%.
91
94
 
92
95
  ### 4. Write the Markdown file
93
96
 
@@ -240,212 +243,222 @@ Sincerely,
240
243
 
241
244
  ## Template — Bahasa Indonesia (Services / Jasa)
242
245
 
243
- Use this for jasa pembuatan website, aplikasi, desain interior, branding, konsultasi, event, dll. Strukturnya menambah Lingkup, Tahapan & Termin, Asumsi, dan Pengecualianbagian-bagian yang biasanya jadi sumber dispute kalau tidak ditulis eksplisit di awal.
246
+ Use this for jasa pembuatan website/aplikasi, desain interior, branding, konsultasi, event organizer, dll. Struktur ini mengikuti format proposal penawaran jasa yang umum digunakan di Indonesia lengkap dengan latar belakang, executive summary, pain points, solusi, scope, deliverables, dan tabel biaya berbasis waktu pengerjaan.
247
+
248
+ Sections yang bersifat opsional (ditandai `[opsional]`) boleh dihilangkan kalau konteks proyek tidak relevan — misalnya, "Technical Architecture" tidak perlu ada untuk proyek desain interior.
244
249
 
245
250
  ```markdown
246
- # SURAT PENAWARAN HARGA
251
+ **Proposal Penawaran Harga Jasa {{nama_perusahaan_pengirim}}**
247
252
 
248
- **Nomor:** {{nomor_surat}}
249
- **Tanggal:** {{tanggal}}
250
- **Perihal:** Penawaran Jasa {{nama_proyek}}
253
+ **{{nama_proyek}}**
251
254
 
252
- ---
255
+ No: {{nomor_surat}}     **{{kota_pengirim}}, {{tanggal}}**
253
256
 
254
257
  **Kepada Yth.**
255
- {{nama_penerima}}
256
- {{jabatan_penerima}}
257
- {{nama_perusahaan_penerima}}
258
- {{alamat_penerima}}
258
+ {{nama_divisi_penerima}}
259
+ **{{nama_perusahaan_penerima}}**
259
260
 
260
261
  ---
261
262
 
263
+ **{{nama_proyek}}**
264
+
265
+ **Latar Belakang Proyek**
266
+
262
267
  Dengan hormat,
263
268
 
264
- Menindaklanjuti {{konteks_singkat_diskusi}}, bersama ini **{{nama_perusahaan_pengirim}}** dengan senang hati menyampaikan penawaran untuk **{{nama_proyek}}** sebagai berikut.
269
+ {{paragraf_latar_belakang_proyek}}
265
270
 
266
- ## 1. Lingkup Pekerjaan
271
+ **Ringkasan Eksekutif & Sekilas Pandang**
267
272
 
268
- {{ringkasan_proyek_1_paragraf}}
273
+ {{paragraf_ringkasan_eksekutif}}
269
274
 
270
- **Hasil pekerjaan (deliverables) yang akan kami serahkan:**
275
+ - **Tipe Produk:** {{tipe_produk}}
276
+ - **Pengguna:** {{segmen_pengguna}}
277
+ - **Platform:** {{platform}}
278
+ - **Teknologi:** {{teknologi_utama}}
271
279
 
272
- - {{deliverable_1}}
273
- - {{deliverable_2}}
274
- - {{deliverable_3}}
280
+ **Tantangan yang Diselesaikan**
275
281
 
276
- ## 2. Tahapan & Termin Pembayaran
282
+ - {{tantangan_1}}
283
+ - {{tantangan_2}}
284
+ - {{tantangan_3}}
277
285
 
278
- | Tahap | Deskripsi | Durasi | Termin |
279
- |------:|-----------|:------:|-------:|
280
- | 1 | {{tahap_1_nama}} — {{tahap_1_desc}} | {{tahap_1_durasi}} | {{tahap_1_termin}} |
281
- | 2 | {{tahap_2_nama}} — {{tahap_2_desc}} | {{tahap_2_durasi}} | {{tahap_2_termin}} |
282
- | 3 | {{tahap_3_nama}} — {{tahap_3_desc}} | {{tahap_3_durasi}} | {{tahap_3_termin}} |
286
+ **Solusi Sistem Kami**
283
287
 
284
- **Estimasi total durasi proyek:** {{durasi_total}} hari kerja sejak DP diterima.
288
+ {{paragraf_solusi}}
285
289
 
286
- ## 3. Rincian Biaya
290
+ **Ruang Lingkup Pekerjaan**
287
291
 
288
- | No. | Item / Komponen | Qty | Satuan | Harga Satuan | Subtotal |
289
- |----:|-----------------|----:|:------:|-------------:|---------:|
290
- | 1 | {{item_1}} | {{qty_1}} | {{satuan_1}} | {{harga_1}} | {{subtotal_1}} |
291
- | 2 | {{item_2}} | {{qty_2}} | {{satuan_2}} | {{harga_2}} | {{subtotal_2}} |
292
+ 1. **{{modul_1_nama}}**
293
+ - {{modul_1_fitur_1}}
294
+ - {{modul_1_fitur_2}}
295
+ 2. **{{modul_2_nama}}**
296
+ - {{modul_2_fitur_1}}
297
+ - {{modul_2_fitur_2}}
298
+ 3. **{{modul_3_nama}}**
299
+ - {{modul_3_fitur_1}}
300
+ - {{modul_3_fitur_2}}
292
301
 
293
- | | **Subtotal** | **{{subtotal_total}}** |
294
- |--|--:|--:|
295
- | | PPN (11%) | {{ppn}} |
296
- | | Diskon | {{diskon}} |
297
- | | **Total** | **{{total}}** |
302
+ **Arsitektur Teknis** [opsional hapus untuk proyek non-teknis]
298
303
 
299
- *Terbilang: {{total_terbilang}} rupiah.*
304
+ {{paragraf_arsitektur_teknis}}
300
305
 
301
- ## 4. Revisi
306
+ **Deliverable Proyek**
302
307
 
303
- Penawaran ini sudah termasuk **{{jumlah_revisi}}** putaran revisi major per tahap. Revisi tambahan di luar kuota dikenakan biaya **{{biaya_revisi_tambahan}}** per putaran atau dapat digabungkan ke putaran berikutnya tanpa biaya jika belum melebihi kuota.
308
+ - {{deliverable_1}}
309
+ - {{deliverable_2}}
310
+ - {{deliverable_3}}
304
311
 
305
- ## 5. Asumsi
312
+ **Struktur Biaya Proyek**
306
313
 
307
- Penawaran ini disusun dengan asumsi berikut. Jika asumsi tidak terpenuhi, lingkup dan biaya dapat ditinjau kembali.
314
+ Berikut adalah estimasi investasi untuk pengembangan dan implementasi **{{nama_proyek}}**:
308
315
 
309
- - {{asumsi_1}}
310
- - {{asumsi_2}}
311
- - {{asumsi_3}}
316
+ | **No** | **Deskripsi Pekerjaan** | **Waktu** | **Biaya (IDR)** |
317
+ |-------:|-------------------------|:---------:|----------------:|
318
+ | 1 | **{{paket_1_nama}}** *{{paket_1_deskripsi_singkat}}* | {{paket_1_waktu}} | {{paket_1_biaya}} |
319
+ | 2 | **{{paket_2_nama}}** *{{paket_2_deskripsi_singkat}}* | {{paket_2_waktu}} | {{paket_2_biaya}} |
320
+ | 3 | **{{paket_3_nama}}** *{{paket_3_deskripsi_singkat}}* | {{paket_3_waktu}} | {{paket_3_biaya}} |
321
+ | **TOTAL INVESTASI** | | **{{total_waktu}}** | **{{total_biaya}}** |
312
322
 
313
- ## 6. Pengecualian (Di Luar Lingkup)
323
+ Keterangan:
314
324
 
315
- Hal-hal berikut **tidak termasuk** dalam penawaran ini, dan dapat ditambahkan sebagai pekerjaan terpisah bila dibutuhkan:
325
+ 1. Biaya yang diajukan {{status_pajak}} *(contoh: "tidak termasuk Pajak (PPN 11%)" atau "sudah termasuk PPN 11%")*
326
+ 2. Termin pembayaran:
327
+ 1. Termin ke-1: {{termin_1_persen}}% sebagai DP
328
+ 2. Termin ke-2: {{termin_2_persen}}% {{termin_2_kondisi}}
329
+ 3. Termin ke-3: {{termin_3_persen}}% {{termin_3_kondisi}}
316
330
 
317
- - {{pengecualian_1}}
318
- - {{pengecualian_2}}
319
- - {{pengecualian_3}}
331
+ **Garansi**
320
332
 
321
- ## 7. Syarat dan Ketentuan
333
+ {{paragraf_intro_garansi_singkat}}
322
334
 
323
- 1. **Masa Berlaku Penawaran:** {{masa_berlaku}} sejak tanggal surat ini.
324
- 2. **Syarat Pembayaran:** mengikuti termin per tahap pada bagian 2; pembayaran via transfer bank.
325
- 3. **Tanggal Mulai:** pekerjaan dimulai paling lambat {{lead_time_mulai}} setelah DP & dokumen kebutuhan diterima.
326
- 4. **Hak Cipta & Source File:** {{ketentuan_ipr}}.
327
- 5. **Garansi / Masa Pemeliharaan:** {{garansi}} setelah serah terima akhir.
328
- 6. **Force majeure** dan keterlambatan akibat keterlambatan respons klien akan menggeser timeline secara proporsional.
335
+ 1. {{ketentuan_garansi_1}}
336
+ 2. {{ketentuan_garansi_2}}
337
+ 3. {{ketentuan_garansi_3}}
338
+ 4. Perubahan dan/atau penambahan di luar lingkup yang tertera akan didiskusikan biaya dan waktunya secara terpisah.
329
339
 
330
- ## Penutup
340
+ **Penutup**
331
341
 
332
- Demikian penawaran ini kami sampaikan. Kami siap mendiskusikan penyesuaian lingkup, tahapan, maupun anggaran agar sesuai dengan kebutuhan {{nama_perusahaan_penerima}}.
342
+ {{paragraf_penutup}}
333
343
 
334
- Atas perhatian dan kepercayaannya, kami ucapkan terima kasih.
344
+ Demikian surat penawaran ini kami sampaikan. Kami sangat menantikan kesempatan untuk berdiskusi lebih lanjut.
335
345
 
336
- Hormat kami,
337
- **{{nama_perusahaan_pengirim}}**
346
+ Hormat Kami,
338
347
 
339
348
  <br><br><br>
340
349
 
341
350
  **{{nama_penanda_tangan}}**
342
- {{jabatan_penanda_tangan}}
343
- {{kontak_penanda_tangan}}
351
+ [{{jabatan_penanda_tangan}}]
344
352
  ```
345
353
 
346
354
  ---
347
355
 
348
356
  ## Template — English (Services)
349
357
 
350
- Use this for service-based engagements (web/app development, interior design, branding, consulting, etc.).
358
+ Same structure as the Indonesian services template, adapted for English-language proposals.
351
359
 
352
360
  ```markdown
353
- # PRICE QUOTATION
361
+ **Service Proposal — {{sender_company}}**
354
362
 
355
- **Reference No.:** {{ref_no}}
356
- **Date:** {{date}}
357
- **Subject:** Service Proposal — {{project_name}}
363
+ **{{project_name}}**
358
364
 
359
- ---
365
+ Ref: {{ref_no}} &nbsp;&nbsp;&nbsp; **{{sender_city}}, {{date}}**
360
366
 
361
367
  **To:**
362
- {{recipient_name}}
363
- {{recipient_title}}
364
- {{recipient_company}}
365
- {{recipient_address}}
368
+ {{recipient_division}}
369
+ **{{recipient_company}}**
366
370
 
367
371
  ---
368
372
 
369
- Dear {{recipient_salutation}},
373
+ **{{project_name}}**
370
374
 
371
- Following {{brief_context}}, **{{sender_company}}** is pleased to submit the following proposal for **{{project_name}}**.
375
+ **Project Background**
372
376
 
373
- ## 1. Scope of Work
377
+ Dear Sir/Madam,
374
378
 
375
- {{project_summary_paragraph}}
379
+ {{project_background_paragraph}}
376
380
 
377
- **Deliverables:**
381
+ **Executive Summary**
378
382
 
379
- - {{deliverable_1}}
380
- - {{deliverable_2}}
381
- - {{deliverable_3}}
383
+ {{executive_summary_paragraph}}
382
384
 
383
- ## 2. Phases & Payment Milestones
385
+ - **Product Type:** {{product_type}}
386
+ - **Users:** {{user_segments}}
387
+ - **Platform:** {{platform}}
388
+ - **Technology:** {{key_technologies}}
384
389
 
385
- | Phase | Description | Duration | Payment |
386
- |------:|-------------|:--------:|--------:|
387
- | 1 | {{phase_1_name}} — {{phase_1_desc}} | {{phase_1_duration}} | {{phase_1_payment}} |
388
- | 2 | {{phase_2_name}} — {{phase_2_desc}} | {{phase_2_duration}} | {{phase_2_payment}} |
389
- | 3 | {{phase_3_name}} — {{phase_3_desc}} | {{phase_3_duration}} | {{phase_3_payment}} |
390
+ **Challenges We Address**
390
391
 
391
- **Estimated total duration:** {{total_duration}} working days from receipt of down payment.
392
+ - {{challenge_1}}
393
+ - {{challenge_2}}
394
+ - {{challenge_3}}
392
395
 
393
- ## 3. Cost Breakdown
396
+ **Our Solution**
394
397
 
395
- | No. | Item / Component | Qty | Unit | Unit Price | Subtotal |
396
- |----:|------------------|----:|:----:|-----------:|---------:|
397
- | 1 | {{item_1}} | {{qty_1}} | {{unit_1}} | {{price_1}} | {{subtotal_1}} |
398
- | 2 | {{item_2}} | {{qty_2}} | {{unit_2}} | {{price_2}} | {{subtotal_2}} |
398
+ {{solution_overview_paragraph}}
399
399
 
400
- | | **Subtotal** | **{{subtotal_total}}** |
401
- |--|--:|--:|
402
- | | Tax / VAT ({{tax_rate}}%) | {{tax}} |
403
- | | Discount | {{discount}} |
404
- | | **Total** | **{{total}}** |
400
+ **Scope of Work**
405
401
 
406
- ## 4. Revisions
402
+ 1. **{{module_1_name}}**
403
+ - {{module_1_feature_1}}
404
+ - {{module_1_feature_2}}
405
+ 2. **{{module_2_name}}**
406
+ - {{module_2_feature_1}}
407
+ - {{module_2_feature_2}}
408
+ 3. **{{module_3_name}}**
409
+ - {{module_3_feature_1}}
410
+ - {{module_3_feature_2}}
407
411
 
408
- This quotation includes **{{revision_rounds}}** rounds of major revision per phase. Additional revisions beyond this quota are billed at **{{additional_revision_fee}}** per round, or may be carried over to a later phase at no cost if the quota has not been exhausted.
412
+ **Technical Architecture** [optional remove for non-technical projects]
409
413
 
410
- ## 5. Assumptions
414
+ {{technical_architecture_paragraph}}
411
415
 
412
- This proposal assumes the following. If any assumption does not hold, the scope and pricing may be revisited.
416
+ **Project Deliverables**
413
417
 
414
- - {{assumption_1}}
415
- - {{assumption_2}}
416
- - {{assumption_3}}
418
+ - {{deliverable_1}}
419
+ - {{deliverable_2}}
420
+ - {{deliverable_3}}
417
421
 
418
- ## 6. Exclusions (Out of Scope)
422
+ **Project Cost Structure**
419
423
 
420
- The following items are **not included** and can be quoted separately if required:
424
+ The following is the estimated investment for the development and implementation of **{{project_name}}**:
421
425
 
422
- - {{exclusion_1}}
423
- - {{exclusion_2}}
424
- - {{exclusion_3}}
426
+ | **No** | **Work Package** | **Duration** | **Cost (IDR)** |
427
+ |-------:|------------------|:------------:|---------------:|
428
+ | 1 | **{{package_1_name}}** *{{package_1_short_desc}}* | {{package_1_duration}} | {{package_1_cost}} |
429
+ | 2 | **{{package_2_name}}** *{{package_2_short_desc}}* | {{package_2_duration}} | {{package_2_cost}} |
430
+ | 3 | **{{package_3_name}}** *{{package_3_short_desc}}* | {{package_3_duration}} | {{package_3_cost}} |
431
+ | **TOTAL INVESTMENT** | | **{{total_duration}}** | **{{total_cost}}** |
425
432
 
426
- ## 7. Terms and Conditions
433
+ Notes:
427
434
 
428
- 1. **Quotation Validity:** {{validity}} from the date of this letter.
429
- 2. **Payment Terms:** per phase as detailed in section 2; payable via bank transfer.
430
- 3. **Project Start:** work begins no later than {{start_lead_time}} after DP and requirements documents are received.
431
- 4. **IP & Source Files:** {{ipr_terms}}.
432
- 5. **Warranty / Maintenance:** {{warranty}} after final handover.
433
- 6. Force majeure and delays caused by late client response will shift the timeline proportionally.
435
+ 1. Quoted prices {{tax_status}} *(e.g. "exclude VAT (11%)" or "include VAT (11%)")*
436
+ 2. Payment milestones:
437
+ 1. Milestone 1: {{milestone_1_pct}}% as down payment
438
+ 2. Milestone 2: {{milestone_2_pct}}% {{milestone_2_condition}}
439
+ 3. Milestone 3: {{milestone_3_pct}}% {{milestone_3_condition}}
434
440
 
435
- ## Closing
441
+ **Warranty**
442
+
443
+ {{warranty_intro_sentence}}
444
+
445
+ 1. {{warranty_term_1}}
446
+ 2. {{warranty_term_2}}
447
+ 3. {{warranty_term_3}}
448
+ 4. Any changes or additions outside the defined scope will be discussed and agreed upon separately in terms of cost and timeline.
449
+
450
+ **Closing Remarks**
436
451
 
437
- We hope this proposal aligns with your needs and we are open to adjusting scope, phases, or budget to fit {{recipient_company}}'s priorities.
452
+ {{closing_paragraph}}
438
453
 
439
- Thank you for your kind consideration.
454
+ We look forward to the opportunity to discuss this proposal further.
440
455
 
441
456
  Sincerely,
442
- **{{sender_company}}**
443
457
 
444
458
  <br><br><br>
445
459
 
446
460
  **{{signatory_name}}**
447
- {{signatory_title}}
448
- {{signatory_contact}}
461
+ [{{signatory_title}}]
449
462
  ```
450
463
 
451
464
  ---
@@ -456,7 +469,7 @@ A few small choices in the templates above keep conversion smooth:
456
469
 
457
470
  - **No raw HTML except `<br>`** — most converters handle line breaks but choke on arbitrary tags. Three `<br>` for signature space is the safest portable trick.
458
471
  - **GFM tables only** — no merged cells, no colspan tricks. If you need more complex layouts in `.docx`, post-process there.
459
- - **No emoji or icons in headings** they sometimes get stripped or mis-rendered in PDF engines without proper fonts.
472
+ - **No emoji anywhere** this is a formal business document. No emoji in headings, bullets, or body text. Use bold labels instead of icons.
460
473
  - **Use `**bold**` and `*italic*`** — avoid `__` and `_` underscores around words containing numbers/IDs (Pandoc occasionally treats them as subscripts in some modes).
461
474
  - **Currency formatting is plain text**, not a code block — code blocks survive conversion but render in monospace, which looks wrong in a formal letter.
462
475
 
@@ -468,5 +481,8 @@ If the user later asks for a fancier visual layout, that's a `.docx` template /
468
481
  - **Don't forget the tax assumption.** In Indonesia, PPN is 11% as of 2026. If the quote is for an export client or the user explicitly says "tanpa PPN", set tax to 0 and remove the line.
469
482
  - **Match the language end-to-end.** Don't mix "Subtotal" headings in English with "Hormat kami" in Indonesian. Pick one and commit.
470
483
  - **Verify arithmetic.** Recompute totals once before writing the file. This is the single biggest failure mode for quotation documents.
471
- - **Untuk services mode**, jangan biarkan "Lingkup Pekerjaan" jadi paragraf hampa berisi marketing speak. Tulis deliverables sebagai daftar konkret yang bisa dicentang ("3 halaman desain landing page final dalam Figma" — bukan "desain web yang menarik dan modern"). Vague scope = endless revisions.
472
- - **Tahapan harus konsisten dengan termin.** Jumlah persentase termin (DP + per tahap + pelunasan) wajib = 100%. Cek ulang sebelum menulis file.
484
+ - **Scope of Work harus konkret.** Tulis fitur/modul sebagai daftar yang bisa dicentang ("Sistem RBAC dengan 3 role: Admin, Editor, Viewer" — bukan "manajemen pengguna yang canggih"). Scope yang ambigu = revisi tak berujung.
485
+ - **Deliverables Scope.** Scope = apa yang dikerjakan. Deliverables = apa yang diserahkan ke klien (dokumen, source code, akun staging, manual book, dll). Keduanya harus ada di template jasa.
486
+ - **Tabel biaya jasa pakai kolom Waktu + Biaya, bukan Qty/Satuan/Harga Satuan.** Jangan campur format tabel goods ke services — tampilannya janggal dan tidak sesuai ekspektasi klien.
487
+ - **Persentase termin harus = 100%.** Cek DP% + mid% + final% sebelum menulis file.
488
+ - **Warranty jangan salin-tempel generik.** Sesuaikan dengan jenis proyek: "bugfix selama perusahaan berdiri" cocok untuk software; untuk desain interior mungkin lebih relevan "garansi revisi minor 30 hari setelah serah terima".