@dedesfr/prompter 0.8.16 → 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.
- package/CHANGELOG.md +8 -0
- package/dist/cli/index.js +1 -1
- package/package.json +1 -1
- package/skills/sph-generator/SKILL.md +157 -141
- package/src/cli/index.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## [0.8.17] - 2026-05-05
|
|
4
|
+
|
|
5
|
+
### 🔄 Changed
|
|
6
|
+
- **sph-generator Skill**: Refined the quotation workflow to support richer service proposals and cleaner cost tables
|
|
7
|
+
- Expanded service-mode prompts to collect project background, executive summary, scope, deliverables, and warranty details
|
|
8
|
+
- Switched services pricing to a work-package format with duration and lump-sum cost, with tax and payment terms moved into notes
|
|
9
|
+
- Reworked the Indonesian and English templates to better fit formal service proposal documents and Pandoc-friendly output
|
|
10
|
+
|
|
3
11
|
## [0.8.16] - 2026-05-05
|
|
4
12
|
|
|
5
13
|
### 🔄 Changed
|
package/dist/cli/index.js
CHANGED
|
@@ -16,7 +16,7 @@ const program = new Command();
|
|
|
16
16
|
program
|
|
17
17
|
.name('prompter')
|
|
18
18
|
.description('Enhance prompts directly in your AI coding workflow')
|
|
19
|
-
.version('0.8.
|
|
19
|
+
.version('0.8.17');
|
|
20
20
|
program
|
|
21
21
|
.command('init')
|
|
22
22
|
.description('Initialize Prompter in your project')
|
package/package.json
CHANGED
|
@@ -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
|
-
|
|
|
67
|
-
|
|
|
68
|
-
|
|
|
69
|
-
|
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
|
|
|
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
|
|
78
|
+
### 3. Build the cost table
|
|
77
79
|
|
|
78
|
-
|
|
80
|
+
**Goods mode** — each row: `No. | Deskripsi | Qty | Satuan | Harga Satuan | Subtotal`. Compute subtotals, PPN, and grand total inline.
|
|
79
81
|
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
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
|
|
88
|
-
- USD/EUR → `$
|
|
90
|
+
- IDR → `Rp 90.000.000` (titik sebagai pemisah ribuan, tanpa desimal)
|
|
91
|
+
- USD/EUR → `$90,000.00` / `€90,000.00`
|
|
89
92
|
|
|
90
|
-
|
|
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
|
|
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
|
-
|
|
251
|
+
**Proposal Penawaran Harga Jasa {{nama_perusahaan_pengirim}}**
|
|
247
252
|
|
|
248
|
-
**
|
|
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
|
-
{{
|
|
256
|
-
{{
|
|
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
|
-
|
|
269
|
+
{{paragraf_latar_belakang_proyek}}
|
|
265
270
|
|
|
266
|
-
|
|
271
|
+
**Ringkasan Eksekutif & Sekilas Pandang**
|
|
267
272
|
|
|
268
|
-
{{
|
|
273
|
+
{{paragraf_ringkasan_eksekutif}}
|
|
269
274
|
|
|
270
|
-
**
|
|
275
|
+
- **Tipe Produk:** {{tipe_produk}}
|
|
276
|
+
- **Pengguna:** {{segmen_pengguna}}
|
|
277
|
+
- **Platform:** {{platform}}
|
|
278
|
+
- **Teknologi:** {{teknologi_utama}}
|
|
271
279
|
|
|
272
|
-
|
|
273
|
-
- {{deliverable_2}}
|
|
274
|
-
- {{deliverable_3}}
|
|
280
|
+
**Tantangan yang Diselesaikan**
|
|
275
281
|
|
|
276
|
-
|
|
282
|
+
- {{tantangan_1}}
|
|
283
|
+
- {{tantangan_2}}
|
|
284
|
+
- {{tantangan_3}}
|
|
277
285
|
|
|
278
|
-
|
|
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
|
-
|
|
288
|
+
{{paragraf_solusi}}
|
|
285
289
|
|
|
286
|
-
|
|
290
|
+
**Ruang Lingkup Pekerjaan**
|
|
287
291
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
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
|
-
|
|
294
|
-
|--|--:|--:|
|
|
295
|
-
| | PPN (11%) | {{ppn}} |
|
|
296
|
-
| | Diskon | {{diskon}} |
|
|
297
|
-
| | **Total** | **{{total}}** |
|
|
302
|
+
**Arsitektur Teknis** [opsional — hapus untuk proyek non-teknis]
|
|
298
303
|
|
|
299
|
-
|
|
304
|
+
{{paragraf_arsitektur_teknis}}
|
|
300
305
|
|
|
301
|
-
|
|
306
|
+
**Deliverable Proyek**
|
|
302
307
|
|
|
303
|
-
|
|
308
|
+
- {{deliverable_1}}
|
|
309
|
+
- {{deliverable_2}}
|
|
310
|
+
- {{deliverable_3}}
|
|
304
311
|
|
|
305
|
-
|
|
312
|
+
**Struktur Biaya Proyek**
|
|
306
313
|
|
|
307
|
-
|
|
314
|
+
Berikut adalah estimasi investasi untuk pengembangan dan implementasi **{{nama_proyek}}**:
|
|
308
315
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
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
|
-
|
|
323
|
+
Keterangan:
|
|
314
324
|
|
|
315
|
-
|
|
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
|
-
|
|
318
|
-
- {{pengecualian_2}}
|
|
319
|
-
- {{pengecualian_3}}
|
|
331
|
+
**Garansi**
|
|
320
332
|
|
|
321
|
-
|
|
333
|
+
{{paragraf_intro_garansi_singkat}}
|
|
322
334
|
|
|
323
|
-
1.
|
|
324
|
-
2.
|
|
325
|
-
3.
|
|
326
|
-
4.
|
|
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
|
-
|
|
340
|
+
**Penutup**
|
|
331
341
|
|
|
332
|
-
|
|
342
|
+
{{paragraf_penutup}}
|
|
333
343
|
|
|
334
|
-
|
|
344
|
+
Demikian surat penawaran ini kami sampaikan. Kami sangat menantikan kesempatan untuk berdiskusi lebih lanjut.
|
|
335
345
|
|
|
336
|
-
Hormat
|
|
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
|
-
|
|
358
|
+
Same structure as the Indonesian services template, adapted for English-language proposals.
|
|
351
359
|
|
|
352
360
|
```markdown
|
|
353
|
-
|
|
361
|
+
**Service Proposal — {{sender_company}}**
|
|
354
362
|
|
|
355
|
-
**
|
|
356
|
-
**Date:** {{date}}
|
|
357
|
-
**Subject:** Service Proposal — {{project_name}}
|
|
363
|
+
**{{project_name}}**
|
|
358
364
|
|
|
359
|
-
|
|
365
|
+
Ref: {{ref_no}} **{{sender_city}}, {{date}}**
|
|
360
366
|
|
|
361
367
|
**To:**
|
|
362
|
-
{{
|
|
363
|
-
{{
|
|
364
|
-
{{recipient_company}}
|
|
365
|
-
{{recipient_address}}
|
|
368
|
+
{{recipient_division}}
|
|
369
|
+
**{{recipient_company}}**
|
|
366
370
|
|
|
367
371
|
---
|
|
368
372
|
|
|
369
|
-
|
|
373
|
+
**{{project_name}}**
|
|
370
374
|
|
|
371
|
-
|
|
375
|
+
**Project Background**
|
|
372
376
|
|
|
373
|
-
|
|
377
|
+
Dear Sir/Madam,
|
|
374
378
|
|
|
375
|
-
{{
|
|
379
|
+
{{project_background_paragraph}}
|
|
376
380
|
|
|
377
|
-
**
|
|
381
|
+
**Executive Summary**
|
|
378
382
|
|
|
379
|
-
|
|
380
|
-
- {{deliverable_2}}
|
|
381
|
-
- {{deliverable_3}}
|
|
383
|
+
{{executive_summary_paragraph}}
|
|
382
384
|
|
|
383
|
-
|
|
385
|
+
- **Product Type:** {{product_type}}
|
|
386
|
+
- **Users:** {{user_segments}}
|
|
387
|
+
- **Platform:** {{platform}}
|
|
388
|
+
- **Technology:** {{key_technologies}}
|
|
384
389
|
|
|
385
|
-
|
|
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
|
-
|
|
392
|
+
- {{challenge_1}}
|
|
393
|
+
- {{challenge_2}}
|
|
394
|
+
- {{challenge_3}}
|
|
392
395
|
|
|
393
|
-
|
|
396
|
+
**Our Solution**
|
|
394
397
|
|
|
395
|
-
|
|
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
|
-
|
|
401
|
-
|--|--:|--:|
|
|
402
|
-
| | Tax / VAT ({{tax_rate}}%) | {{tax}} |
|
|
403
|
-
| | Discount | {{discount}} |
|
|
404
|
-
| | **Total** | **{{total}}** |
|
|
400
|
+
**Scope of Work**
|
|
405
401
|
|
|
406
|
-
|
|
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
|
-
|
|
412
|
+
**Technical Architecture** [optional — remove for non-technical projects]
|
|
409
413
|
|
|
410
|
-
|
|
414
|
+
{{technical_architecture_paragraph}}
|
|
411
415
|
|
|
412
|
-
|
|
416
|
+
**Project Deliverables**
|
|
413
417
|
|
|
414
|
-
- {{
|
|
415
|
-
- {{
|
|
416
|
-
- {{
|
|
418
|
+
- {{deliverable_1}}
|
|
419
|
+
- {{deliverable_2}}
|
|
420
|
+
- {{deliverable_3}}
|
|
417
421
|
|
|
418
|
-
|
|
422
|
+
**Project Cost Structure**
|
|
419
423
|
|
|
420
|
-
The following
|
|
424
|
+
The following is the estimated investment for the development and implementation of **{{project_name}}**:
|
|
421
425
|
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
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
|
-
|
|
433
|
+
Notes:
|
|
427
434
|
|
|
428
|
-
1.
|
|
429
|
-
2.
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
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
|
-
|
|
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
|
-
|
|
452
|
+
{{closing_paragraph}}
|
|
438
453
|
|
|
439
|
-
|
|
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
|
|
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
|
-
- **
|
|
472
|
-
- **
|
|
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".
|