When charging users for printing and copying, many organizations choose to apply discounts for select user groups or individuals. For example, a university might want staff to pay less for printing than students.
Straightforward approach to charging different amounts PaperCut NG/MF provides several methods for charging different users different amounts . The simplest is a job cost multiplier , which can be applied at the user level. This multiplier applies to all of a user’s costed jobs (print, copy, scan, or fax). It can be applied to individual users, copied to other users or groups with a bulk user operation , or set as a default for new users via that group’s creation rules .
However, organizations might need more complex charging schemes. For example, charging staff 50% less for color printing and providing free grayscale printing, while students pay the full amount. A single cost multiplier cannot handle these distinct charging models for different user types.
Charging different amounts with multiple user-facing queues Another way to charge users different amounts is to use distinct print queues for each user group , each with its own cost model and user access restrictions. You could use Print Deploy to deploy the relevant queue to each user’s computer, preventing them from seeing multiple queues.
However, Print Deploy does not currently support iOS or Android and is not generally suitable for BYOD clients. Having multiple user-facing queues also means different users will see differently-named queues, which can complicate educating users on how to print.
Charging different amounts with print scripting Advanced Print Scripting allows you to programmatically customize your print policy based on many variables. This lets you apply different charging models for specific users by recalculating the job cost against another print queue, without different users needing to print to separate queues.
However, there’s a catch with Find-Me printing . Users can change job attributes (like number of copies, converting to 2-sided, or converting to color/grayscale) at the device before releasing their job. Print scripts run when the job is first submitted, not when it is released. Therefore, if a user changes a job attribute that affects the cost, the original print script discount is lost, and the cost is recalculated using the Find-Me queue’s default charging model.
The workaround — an approach to preserving print script discounts Let’s walk through a scenario. A school has two user groups: Staff and Students.
Students are charged the standard rate. Staff receive a 50% discount on colour pages and a 75% discount on grayscale pages. All users print to a single Find-Me queue and can release their jobs at either the library or the staff office printer. If staff change job attributes at the device, they still receive their discounts. You can use a single, user-facing Find-Me queue. For this approach, in the background you create multiple hidden Find-Me queues on your print server — one for each cost model. A specialized print script (provided below) applied to the main queue automatically forwards jobs to the correct hidden queue based on the user’s group membership.
What to consider before implementing the workaround Make sure to review the following points, which may factor into implementing the workaround in your environment:
Administrative overhead: Administrators will need to manage held print jobs across multiple queues on the print server. System load: This method adds a small amount of processing for every print job (a script execution and a job redirection). While minimal per job, this could create a noticeable load in extremely busy environments. Hold/release configuration: The user-facing Find-Me queue must have hold/release disabled. Print scripts will redirect jobs after the user releases them. If jobs remain held in the user-facing queue, any changes made by the user at the device will use the cost model of the user-facing queue, not the target queue, defeating the purpose of the workaround. Use cases: The workaround approach is ideal: for BYOD environments for sites that need iOS or Android printing when a single, consistently named Find-Me queue is required. Step 1: Create the print queues Start by creating four new print queues on your print server. Each will use the nul port to prevent jobs from being accidentally released if a problem occurs.
Note It is strongly recommended that all four queues use the nul port. The nul port ensures that if either hold/release or the print script encounter an error, jobs held in the queue will not be released to a real printer without a user’s oversight. For information about the nul port see How to Setup a Nul Port on Windows.
Create these four print queues:
Find-Me: The user-facing queue. This queue will be shared with users and/or advertised to them via Mobility Print . Find-Me (Staff): A hidden print queue for redirected staff print jobs. Do not share or advertise this queue. Find-Me (Student): A hidden print queue for all other redirected print jobs. Do not share or advertise this queue. Safety Net: A queue to redirect jobs to by default if the print script fails. Step 2: Configure the print queues in PaperCut NG/MF In the PaperCut NG/MF Admin web interface, configure the queues as follows:
Configure the Find-Me printer:
Queue type: virtual Job Redirection: Redirect only to the Safety Net queue. Hold/release: Disabled Costing: $0.00 per page Configure the Safety Net printer:
Queue type: physical Hold/release: Disabled Costing: $0.00 per page Configure both the Find-Me (Staff) and Find-Me (Student) printers:
Queue type: virtual Job Redirection: Can redirect jobs to each physical printer (for example, Library Printer, Office Printer). Hold/release: Enabled Configure charging on the Find-Me (Student) printer with your standard rates.
Configure discounted charging on the Find-Me (Staff) printer (for example, a 50% discount for colour and a 75% discount for grayscale).
Step 3: Apply the print script Apply the following print script to the primary Find-Me queue. Replace Staff with the name of the user group that requires discounted charging.
function printJobHook(inputs, actions) { var DISCOUNT_GROUP = "Staff"; if (inputs.user.isInGroup(DISCOUNT_GROUP)) { actions.job.redirect("print-server\\Find-Me (Staff)", {allowHoldAtTarget: true, recalculateCost: true}); } else { actions.job.redirect("print-server\\Find-Me (Student)", {allowHoldAtTarget: true, recalculateCost: true}); } } Step 4: Configure the embedded devices On each MFD, configure the embedded software to display jobs for release from both the Find-Me (Staff) and Find-Me (Student) queues.
The result All users see and print to a single Find-Me queue. Student jobs are held in the hidden Find-Me (Student) queue. Staff jobs are held in the hidden Find-Me (Staff) queue. Students are charged the standard rate. Staff are charged the complex discounted rate. All users can change job attributes at the device, and the correct cost will be applied. All users can release their jobs at any configured device. You can adapt this workaround approach for more than two charging models by adding more hidden Find-Me queues and expanding the print script logic to redirect jobs based on policy (for example, group membership, username, or time of day).
For managed devices, it is often simpler to use Print Deploy to deploy the correct queue, either Find-Me (Staff) or Find-Me (Student), directly to the relevant users.
What about copy, scan, and fax jobs? Costs for copy, scan, and fax jobs are calculated after the job has completed. This makes applying complex discounts simpler because you can use Device Scripting to adjust the cost after all job attributes are finalized. For example, take a look here .
Articles in this section
- Users receive "Need admin approval" error with Scan to OneDrive for Business
- Resolving PaperCut NG/MF performance issues by maintaining its internal database
- Preserving print script discounts when changing print jobs attributes at the device
- Load Balancing Concepts for PaperCut Environments
- PaperCut MF 24.1.8 - Document Processing information and FAQs
- Manually Generating and Installing iOS AirPrint Profiles for Mobility Print (When Auto Setup Fails)
- Common Xerox Issues and how to fix them
- PaperCut NG/MF Security Bulletin (May 2025)
- How to permit users to cancel print jobs at HP MFD
- How to remove a print job from the queue
Comments
0 comments
Please sign in to leave a comment.