WFDASH-WEBAPP/scripts
Dave f017a7f985 fix: number customer POs one at a time (duplicate PO numbers)
PO numbers were "read the month's highest, add one", so POs for several
suppliers on one order created together got the same number — 34 numbers
by 2026-10-19 (e.g. PO202610008LIF for BarloWorld CAT and John Ratcliffe,
created 71 ms apart).

- createPurchaseOrderWithNumber (po-number.ts): numbers and creates POs
  one at a time in the server, retries (up to 5) when the unique index
  rejects a clash; ignores any po_number passed in.
- buyer-tasks / MCP generate_po use it.
- The Process page's Send PO and in-stock PO buttons now call
  POST /api/v1/orders/[id]/purchase-orders (browser session) instead of
  numbering in the browser; the client generatePONumber is removed from
  pb-helpers.
- npm run pb:migrate:po-number-unique adds a partial unique index on
  purchase_orders.po_number for POs created from then on; the 34 existing
  duplicates are left as they are.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 15:08:12 +02:00
..
__pycache__ feat(mcp): enhance API documentation and add new tools 2026-08-15 00:06:40 +02:00
dev
fixes feat(quotes): split attachments into internal vs outbound with operator upload UI 2026-09-09 13:43:56 +02:00
migrations fix: number customer POs one at a time (duplicate PO numbers) 2026-10-19 15:08:12 +02:00
pb-hooks chore(pocketbase): publish hooks to WFDASH-PBHOOKS for the VPS sync 2026-10-17 15:35:54 +02:00
perf
smoke chore(giellie): add MiniMax vision/tool-call probe 2026-09-30 23:33:13 +02:00
utils
2026-08-03-load-husqvarna-cart.ts
2026-08-03-load-yg1-quote-soq078608.ts
2026-08-03-merge-yg1-drafts.ts
2026-08-13-heal-item-intel.ts feat(tv): add TV dashboard + refine workflows 2026-08-13 20:55:22 +02:00
2026-08-21-backfill-order-duplicates.ts feat(orders): enhance order handling with email_message_id deduplication and displayContactName utility 2026-08-21 19:18:02 +02:00
_csv-sink.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
_dump-browser-csv.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
_env.ts feat(tv): add TV dashboard + refine workflows 2026-08-13 20:55:22 +02:00
_scrape-dowel-pins.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
_scrape-grease-nipples.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
_scrape-spring-pins.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
add-collection-field.ts feat(collection-pool): back-to-pending, collection date, and a safe notes feed 2026-10-16 00:44:49 +02:00
apply-default-markup.test.ts feat(stock): inline qty editing + column sort + pricing-gap operator scripts 2026-09-14 13:04:26 +02:00
apply-default-markup.ts feat(stock): inline qty editing + column sort + pricing-gap operator scripts 2026-09-14 13:04:26 +02:00
audit-pb-fields.py
audit-quote-company-drift.mjs fix(quotes): delivery-note quotes skip approvals; company follows customer 2026-10-16 00:44:45 +02:00
backfill-counter-collected.mts chore(backfill): stamp qty_collected on 301 counter delivery-note lines 2026-10-09 12:00:17 +02:00
backfill-item-intel.ts
backfill-po-items.mjs
backfill-stock-prices.test.ts feat(stock): seed pricing fields on create + sync price_list to stock_items 2026-09-14 13:04:08 +02:00
backfill-stock-prices.ts feat(stock): seed pricing fields on create + sync price_list to stock_items 2026-09-14 13:04:08 +02:00
build_v5_workflow.py
compress-attachments-once.mjs feat(audit): implement audit trail for delivery notes and orders 2026-09-30 01:48:44 +02:00
deploy_v5_to_n8n.py
diff-nss-fix.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
fleetai-probe.mjs feat(rep-visits): FleetAI tracker adapter, nearby-customer matching, stop detection 2026-09-06 14:22:28 +02:00
import-data.ts
list-irda-stock.ts feat(stock): inline qty editing + column sort + pricing-gap operator scripts 2026-09-14 13:04:26 +02:00
mcp-doc-gen.py feat(mcp): enhance API documentation and add new tools 2026-08-15 00:06:40 +02:00
mrbxnim4-telegram-cloud-photo-size-4-6016860144018328845-y.jpg
n8n-v2-error.ts
n8n-v2-main.ts
nss-add-invoice-columns.ts fix(invoicing): bill only what's collected, support partial pickups + kit splits 2026-09-17 13:53:36 +02:00
nss-backfill-in-stock-qty.ts fix(order-process): stamp qty_collected when marking items in stock 2026-09-18 08:07:38 +02:00
nss-dowel-pins-din6325-ingest.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-dowel-pins-din6325-pb-import.json feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-dowel-pins-din6325-pb-transform.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-dowel-pins-din6325-pilot.csv feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-fasteners-fix-name-description.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-fasteners-ingest.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-fasteners-pb-import.json feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-fasteners-pb-transform.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-fasteners-pilot.csv feat(stock): implement auto-markup for selling price and markup on stock item creation and updates 2026-09-16 09:49:52 +02:00
nss-fasteners-revert-name-description.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-fasteners-single-pieces.csv feat(stock): implement auto-markup for selling price and markup on stock item creation and updates 2026-09-16 09:49:52 +02:00
nss-fix-kusasalethu-inv10924.ts fix(invoicing): bill only what's collected, support partial pickups + kit splits 2026-09-17 13:53:36 +02:00
nss-grease-nipples-ingest.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-grease-nipples-pb-import.json feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-grease-nipples-pb-transform.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-grease-nipples-pilot.csv feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-hex-bolts-din931-ingest.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-hex-bolts-din931-pb-import.json feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-hex-bolts-din931-pb-transform.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-hex-bolts-din931-pilot.csv feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-hex-bolts-ingest.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-hex-bolts-pb-transform.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-scrape-bundle.js feat(stock): implement auto-markup for selling price and markup on stock item creation and updates 2026-09-16 09:49:52 +02:00
nss-set-screws-din933-ingest.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-set-screws-din933-pb-import.json feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-set-screws-din933-pb-transform.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-set-screws-din933-pilot.csv feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-split-pins-din94-ingest.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-split-pins-din94-pb-import.json feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-split-pins-din94-pb-transform.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-split-pins-din94-pilot.csv feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-spring-pins-iso8752-ingest.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-spring-pins-iso8752-pb-import.json feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-spring-pins-iso8752-pb-transform.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-spring-pins-iso8752-pilot.csv feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-threaded-rods-ingest.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-threaded-rods-pb-import.json feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-threaded-rods-pb-transform.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-threaded-rods-pilot.csv feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-washers-din126-pb-import.json feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-washers-din126-pilot.csv feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-washers-ingest.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
nss-washers-pb-transform.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
quotes.pb.js
recent-stock-movements.ts feat(stock): implement auto-markup for selling price and markup on stock item creation and updates 2026-09-16 09:49:52 +02:00
regenerate-delivery-note-pdfs.ts
seed-gielie-quotes.py
setup-pocketbase.ts
verify-nss-bolts.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
verify-nss-dowel-pins.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
verify-nss-fix.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
verify-nss-grease-nipples.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
verify-nss-ingest.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
verify-nss-revert.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
verify-nss-rods.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
verify-nss-set-screws.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
verify-nss-split-pins.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
verify-nss-spring-pins.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
verify-nss-washers.ts feat(stock): update pricing logic and transform script for fasteners 2026-09-21 12:32:44 +02:00
verify_v5.py