@go-labs-sg/bb 3.0.0 → 3.2.0
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/README.md +34 -6
- package/command-manifest.json +542 -8
- package/command-reference.md +81 -9
- package/dist/index.js +357 -104
- package/package.json +2 -2
package/command-reference.md
CHANGED
|
@@ -396,7 +396,7 @@ Effects: state-change, email.
|
|
|
396
396
|
|
|
397
397
|
## `bb bill create`
|
|
398
398
|
|
|
399
|
-
Create a bill or claim with an approved supplier. All amount fields exclude GST: amount is the portion billed; extractedAmount is the full invoice subtotal; lineAmounts and quotationAllocations also exclude GST. Example: 1800 + 162 GST = 1962 total requires amount=1800 and extractedAmount=1800 for a full bill. The CLI does not strip GST from input. --draft-only guarantees DRAFT without email or external writes; otherwise unpaid creation skips email permission but keeps external-write permission.
|
|
399
|
+
Create a bill or claim with an approved supplier. All amount fields exclude GST: amount is the portion billed; extractedAmount is the full invoice subtotal; lineAmounts and quotationAllocations also exclude GST. Example: 1800 + 162 GST = 1962 total requires amount=1800 and extractedAmount=1800 for a full bill. The CLI does not strip GST from input. If the selected quotations cannot split the bill amount across every selected line (a line without a quoted amount that cannot be derived from the quotation total), pass lineAmounts; updates that keep the same amount and lines reuse the existing line amounts. --draft-only guarantees DRAFT without email or external writes; otherwise unpaid creation skips email permission but keeps external-write permission.
|
|
400
400
|
|
|
401
401
|
Legacy aliases: `create-bill`, `create_bill`.
|
|
402
402
|
|
|
@@ -409,7 +409,7 @@ Payload fields (--payload JSON)
|
|
|
409
409
|
|
|
410
410
|
## `bb bill selection validate`
|
|
411
411
|
|
|
412
|
-
Validate the approved supplier and selected bill line items.
|
|
412
|
+
Validate the approved supplier and selected bill line items. Supplier bills need approved quotation sources (quotationIds, legacy quotationId, or quotationAllocations with lineAmounts) for every line that is not quotation-exempt (Go Internal lines, or projects/budgets created before the quotation cutoff). With billId, lines already on the bill keep their stored sources unless new sources are supplied. Exemption is decided by the server, so there is no --quotation-exempt flag here. Amounts (amount, lineAmounts, quotationAllocations) are ex-GST dollars with at most 2 decimal places.
|
|
413
413
|
|
|
414
414
|
Legacy aliases: `validate-bill-selection`, `validate_bill_selection`.
|
|
415
415
|
|
|
@@ -435,7 +435,7 @@ Payload fields (--payload JSON)
|
|
|
435
435
|
|
|
436
436
|
## `bb bill update`
|
|
437
437
|
|
|
438
|
-
Update a bill or claim with a partial payload including id; omitted fields are preserved. Comment-only updates are allowed on approved/paid bills without altering financial data or QuickBooks. All amount fields exclude GST: amount is the portion billed; extractedAmount is the full invoice subtotal; lineAmounts and quotationAllocations also exclude GST. Example: 1800 + 162 GST = 1962 total requires amount=1800 and extractedAmount=1800 for a full bill. The CLI does not strip GST from input. Re-read and verify both amount fields and allocations after correcting a gross/net mistake.
|
|
438
|
+
Update a bill or claim with a partial payload including id; omitted fields are preserved. Comment-only updates are allowed on approved/paid bills without altering financial data or QuickBooks. All amount fields exclude GST: amount is the portion billed; extractedAmount is the full invoice subtotal; lineAmounts and quotationAllocations also exclude GST. Example: 1800 + 162 GST = 1962 total requires amount=1800 and extractedAmount=1800 for a full bill. The CLI does not strip GST from input. If the selected quotations cannot split the bill amount across every selected line (a line without a quoted amount that cannot be derived from the quotation total), pass lineAmounts; updates that keep the same amount and lines reuse the existing line amounts. Re-read and verify both amount fields and allocations after correcting a gross/net mistake.
|
|
439
439
|
|
|
440
440
|
Legacy aliases: `update-bill`, `update_bill`.
|
|
441
441
|
|
|
@@ -557,12 +557,36 @@ Effects: state-change.
|
|
|
557
557
|
|
|
558
558
|
## `bb bill get`
|
|
559
559
|
|
|
560
|
-
Get bill
|
|
560
|
+
Get a bill's summary as shown in the web app: status, amounts, people, payment and line totals. Use get-bill-line-items, get-bill-approvals, get-bill-attachments or get-bill-payment for more detail. Argument: <billId>.
|
|
561
561
|
|
|
562
562
|
Legacy aliases: `get-bill-details`, `get_bill_details`.
|
|
563
563
|
|
|
564
564
|
Effects: none.
|
|
565
565
|
|
|
566
|
+
## `bb bill line-item list`
|
|
567
|
+
|
|
568
|
+
List a bill's line items with budget-item and quotation-allocation detail. <billId> [--limit 1-100] [--cursor <token>] Newest first. Returns { items, pageInfo }; follow nextCursor.
|
|
569
|
+
|
|
570
|
+
Legacy aliases: `get-bill-line-items`, `get_bill_line_items`.
|
|
571
|
+
|
|
572
|
+
Effects: none.
|
|
573
|
+
|
|
574
|
+
## `bb bill approval list`
|
|
575
|
+
|
|
576
|
+
List a bill's approval requests with approver, requester and responder. <billId> [--limit 1-50] [--cursor <token>] Newest first. Returns { items, pageInfo }; follow nextCursor.
|
|
577
|
+
|
|
578
|
+
Legacy aliases: `get-bill-approvals`, `get_bill_approvals`.
|
|
579
|
+
|
|
580
|
+
Effects: none.
|
|
581
|
+
|
|
582
|
+
## `bb bill payment get`
|
|
583
|
+
|
|
584
|
+
Get a bill's payment status, reference, date, tracking URL, QuickBooks link and external payment. Argument: <billId>.
|
|
585
|
+
|
|
586
|
+
Legacy aliases: `get-bill-payment`, `get_bill_payment`.
|
|
587
|
+
|
|
588
|
+
Effects: none.
|
|
589
|
+
|
|
566
590
|
## `bb quotation list`
|
|
567
591
|
|
|
568
592
|
List quotations with cursor pagination. [--projectId] [--budgetId] [--supplierId] [--status CSV] [--createdBy CSV] [--search] [--limit 1-100] [--cursor <token>] [--direction forward|backward] Newest first; returns { items, pageInfo }. Follow nextCursor/previousCursor with the same filters. --page/--pageSize/--perPage are rejected; --requesterIds remains an alias for --createdBy.
|
|
@@ -581,12 +605,20 @@ Effects: none.
|
|
|
581
605
|
|
|
582
606
|
## `bb quotation get`
|
|
583
607
|
|
|
584
|
-
Get quotation.
|
|
608
|
+
Get a quotation as shown in the web app: status, amounts, people, line totals, files and approvals. Use get-quotation-line-items for budget-item detail. Argument: <quotationId>.
|
|
585
609
|
|
|
586
610
|
Legacy aliases: `get-quotation`, `get_quotation`.
|
|
587
611
|
|
|
588
612
|
Effects: none.
|
|
589
613
|
|
|
614
|
+
## `bb quotation line-item list`
|
|
615
|
+
|
|
616
|
+
List a quotation's line items with budget-item, supplier and budget detail. <quotationId> [--limit 1-100] [--cursor <token>] Newest first. Returns { items, pageInfo }; follow nextCursor.
|
|
617
|
+
|
|
618
|
+
Legacy aliases: `get-quotation-line-items`, `get_quotation_line_items`.
|
|
619
|
+
|
|
620
|
+
Effects: none.
|
|
621
|
+
|
|
590
622
|
## `bb quotation attachment upload`
|
|
591
623
|
|
|
592
624
|
Upload Quotation Attachment.
|
|
@@ -719,12 +751,44 @@ Effects: none.
|
|
|
719
751
|
|
|
720
752
|
## `bb customer-invoice get`
|
|
721
753
|
|
|
722
|
-
Get customer invoice.
|
|
754
|
+
Get an invoice batch as shown in the web app: status, totals, people, approvals and invoice summaries. Use get-customer-invoice-invoices, get-customer-invoice-lines, get-customer-invoice-approvals or get-customer-invoice-history for more detail. Argument: <batchId>.
|
|
723
755
|
|
|
724
756
|
Legacy aliases: `get-customer-invoice`, `get_customer_invoice`.
|
|
725
757
|
|
|
726
758
|
Effects: none.
|
|
727
759
|
|
|
760
|
+
## `bb customer-invoice invoice list`
|
|
761
|
+
|
|
762
|
+
List a batch's invoices with QuickBooks id/doc number, issue/due dates, amounts, sync state and sender. Argument: <batchId>.
|
|
763
|
+
|
|
764
|
+
Legacy aliases: `get-customer-invoice-invoices`, `get_customer_invoice_invoices`.
|
|
765
|
+
|
|
766
|
+
Effects: none.
|
|
767
|
+
|
|
768
|
+
## `bb customer-invoice line list`
|
|
769
|
+
|
|
770
|
+
List one invoice's lines (name, description, QuickBooks item/tax code, quantity, amounts). <invoiceId> [--limit 1-100] [--cursor <token>] Newest first. Returns { items, pageInfo }; follow nextCursor.
|
|
771
|
+
|
|
772
|
+
Legacy aliases: `get-customer-invoice-lines`, `get_customer_invoice_lines`.
|
|
773
|
+
|
|
774
|
+
Effects: none.
|
|
775
|
+
|
|
776
|
+
## `bb customer-invoice approval list`
|
|
777
|
+
|
|
778
|
+
List an invoice batch's approval requests with approver, requester and responder. <batchId> [--limit 1-50] [--cursor <token>] Newest first. Returns { items, pageInfo }; follow nextCursor.
|
|
779
|
+
|
|
780
|
+
Legacy aliases: `get-customer-invoice-approvals`, `get_customer_invoice_approvals`.
|
|
781
|
+
|
|
782
|
+
Effects: none.
|
|
783
|
+
|
|
784
|
+
## `bb customer-invoice history list`
|
|
785
|
+
|
|
786
|
+
List an invoice batch's status history (batch/invoice status changes, source, note, actor). <batchId> [--limit 1-100] [--cursor <token>] Newest first. Returns { items, pageInfo }; follow nextCursor.
|
|
787
|
+
|
|
788
|
+
Legacy aliases: `get-customer-invoice-history`, `get_customer_invoice_history`.
|
|
789
|
+
|
|
790
|
+
Effects: none.
|
|
791
|
+
|
|
728
792
|
## `bb customer-invoice email-context get`
|
|
729
793
|
|
|
730
794
|
Get customer invoice email context.
|
|
@@ -1054,7 +1118,7 @@ Effects: state-change, external-write.
|
|
|
1054
1118
|
|
|
1055
1119
|
Payload fields (--payload JSON)
|
|
1056
1120
|
Required: id: string; name: string; companyId: string; contactPersonId: string; asanaTaskId: string; insideSalesId: string; businessDevelopmentId: string; venue: string; dateRange: {from: ISO date}
|
|
1057
|
-
Optional: dateRange.to: ISO date; projectManagerId: string; pax: string; description: string; slackChannelId/slackChannelUrl/slackChannelName: strings (supply all three); requestQboAccountantNotification: boolean; confirmEstimateInvalidation: boolean
|
|
1121
|
+
Optional: dateRange.to: ISO date; projectManagerId: string; pax: string; description: string; slackChannelId/slackChannelUrl/slackChannelName: strings (supply all three); requestQboAccountantNotification: boolean; confirmEstimateInvalidation: boolean. Changing companyId requires a contactPersonId from the new company; the company change itself does not reject existing estimates or touch existing invoices, but date, pax or venue changes in the same save still require confirmEstimateInvalidation.
|
|
1058
1122
|
Example: bb update-project --payload '{"id":"<project-id>","name":"Launch","companyId":"<company-id>","contactPersonId":"<contact-id>","asanaTaskId":"<asana-task-id>","insideSalesId":"<user-id>","businessDevelopmentId":"<user-id>","venue":"Hall","dateRange":{"from":"2026-10-01T09:00:00Z"}}'
|
|
1059
1123
|
|
|
1060
1124
|
## `bb project delete`
|
|
@@ -1471,6 +1535,14 @@ Legacy aliases: `count-errors`, `count_errors`.
|
|
|
1471
1535
|
|
|
1472
1536
|
Effects: none.
|
|
1473
1537
|
|
|
1538
|
+
## `bb error get`
|
|
1539
|
+
|
|
1540
|
+
Admin-only: one error log with full diagnostics (stack, cause, request details, metadata, AI summary, resolution). Argument: <errorId>. error recent list returns table columns only.
|
|
1541
|
+
|
|
1542
|
+
Legacy aliases: `get-error`, `get_error`.
|
|
1543
|
+
|
|
1544
|
+
Effects: none.
|
|
1545
|
+
|
|
1474
1546
|
## `bb error metrics get`
|
|
1475
1547
|
|
|
1476
1548
|
Get error metrics.
|
|
@@ -1489,7 +1561,7 @@ Effects: none.
|
|
|
1489
1561
|
|
|
1490
1562
|
## `bb integration operation count`
|
|
1491
1563
|
|
|
1492
|
-
|
|
1564
|
+
Provider filter options for integration operations: { filterOptions }. No total; filter flags are accepted but do not change the result. Admin only.
|
|
1493
1565
|
|
|
1494
1566
|
Legacy aliases: `count-integration-operations`, `count_integration_operations`.
|
|
1495
1567
|
|
|
@@ -1585,7 +1657,7 @@ Effects: state-change.
|
|
|
1585
1657
|
|
|
1586
1658
|
## `bb webhook delivery list`
|
|
1587
1659
|
|
|
1588
|
-
|
|
1660
|
+
Admin-only: list webhook deliveries newest first. Returns { items, pageInfo }; follow pageInfo.nextCursor (or previousCursor with --direction backward). Cursors are opaque and filter-bound; raw delivery ids are rejected.
|
|
1589
1661
|
|
|
1590
1662
|
Legacy aliases: `list-webhook-deliveries`, `list_webhook_deliveries`.
|
|
1591
1663
|
|