Skip to content

Print manager implementation#646

Open
ChrisEdgington wants to merge 1 commit intocrbnos:mainfrom
ChrisEdgington:feat/print-manager
Open

Print manager implementation#646
ChrisEdgington wants to merge 1 commit intocrbnos:mainfrom
ChrisEdgington:feat/print-manager

Conversation

@ChrisEdgington
Copy link
Copy Markdown

What does this PR do?

Adds a centralized Print Manager to Carbon — an automated print job queue that generates and delivers documents to physical printers triggered by business events. For printed output, a ProxyBox Zero unit is required (pbxz.io). For the best looking output, a BinderyPress API key is required (binderypress.dev).

Visual Demo (For contributors especially)

image image

Mandatory Tasks (DO NOT REMOVE)

  • I have self-reviewed the code (A decent size PR without self-review might be rejected).
  • I confirm automated tests are in place that prove my fix is effective or that my feature works.

How should this be tested?

Environment variables:

  • BINDERY_PRESS_API_KEY - optional, only needed if testing BinderyPress rendering instead of built-in renderers

Seed data:
npm run db:build
npm run db:seed:dev -- --email your@email.com --printing

The --printing flag seeds: 4 tracked items, 2 receipts (one at Headquarters, one at Warehouse B with a location override), a shipment, a kanban, a job with an in-progress operation, 2 printer routes, template assignments, and a location override.

Testing flows:

  1. Receipt auto-print: Navigate to Inventory → Receipts → RE000001, click Post. Print jobs should appear in the Print Manager immediately with purple "generating" badges, then transition to completed.
  2. Location override: Post RE000002 (at Warehouse B). Verify in Trigger.dev logs that it resolved the "Warehouse B Rollo" printer route instead of the default.
  3. Settings UI: Navigate to Settings → Printing. Verify auto-print toggles, printer CRUD with test print, template assignments, location overrides, and work center overrides.
  4. Print Manager UI: Navigate to Print Manager. Verify status filtering, view output (ZPL shows Labelary preview), reprint, and delete.
  5. Shipment/Kanban/MES: Post SH000001, trigger a kanban order, or complete the MES operation to test the remaining auto-print paths.

Printer configuration: The seed data uses placeholder URLs (your-proxybox-address.pbxz.cloud). To test actual printing, update the printer route URLs in Settings → Printing to point to a real ProxyBox instance.

Checklist

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 8, 2026

@ChrisEdgington is attempting to deploy a commit to the Carbon Team on Vercel.

A member of the Team first needs to authorize it.

@barbinbrad
Copy link
Copy Markdown
Contributor

@ChrisEdgington do you mind if we fork this and do some work on it? I don't want you to have to address a bunch of comments?

@ChrisEdgington
Copy link
Copy Markdown
Author

@ChrisEdgington do you mind if we fork this and do some work on it? I don't want you to have to address a bunch of comments?

Certainly, do whatever you need to do. I'll help wherever you want me to. Obviously zero pressure to use what I built here - totally open to seeing other ideas too. If you want to try the BinderyPress - LMK and I'll send invites to whoever necessary.

@sidwebworks sidwebworks force-pushed the main branch 4 times, most recently from 0ab4bea to 53d1388 Compare April 14, 2026 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants