Integrating PaperCut with coworking space management software
KB Home | Integrating PaperCut with coworking space management software
We often get asked about integrating PaperCut with various software packages used to manage coworking spaces. There are a number of advanced features in PaperCut that can help with this.
Please feel free to provide feedback in the comments section.
About Coworking spaces
Coworking spaces provide office space and facilities (e.g. desks, chairs, internet access, meeting rooms, printing, copying, refreshments, etc) that individuals or teams can book and use, instead of taking a full time lease on dedicated office facilities. The organisation managing the coworking space will usually use a dedicated software package to manage membership of the space as well as charges for the various facilities used.
When PaperCut is used to track printing and copying in such facilities there are two key integration requirements:
Export of job cost data from PaperCut so that the correct coworking accounts are charged for the cost of printing, copying and other jobs.
User account information. Used to manage authentication for print release and other features that require a login to PaperCut; Identification of print and copy jobs; Tracking of charges for jobs to the correct personnel or shared account.
The following sections address various aspects of these two requirements. In addition there is a brief discussion of shared account management and a reading list of useful topics. All of these scenarios assume that users register in the co working space software and have an available balance before they start printing or copying.
Tracking and Charging for Jobs using PaperCut:
Note: The following discussion is about PaperCut users’ personal account balance. Shared accounts are discussed separately below.
Using the PaperCut balance to manage job costs
It’s often useful (and simple) to allow users to transfer money from their coworking managed account into PaperCut. Once users have a balance in PaperCut they can use this “Personal print and copy budget” as required. Users know how much they transferred so they don’t get any surprises if then should accidently print an 100 page document for instance.
The PaperCut web services API can be used for this (see Further Reading below).
Easy to implement
Jobs may be declined with insufficient funds
Gives users total control on their PaperCut “spend”
Will need a process to refund balances when account is closed
Export job charges via Scheduled Reports
The traditional approach in PaperCut to export detailed job information is to use scheduled reports to provide data in a CSV format for processing. User accounts can be made unrestricted so that users print and copy freely. However as currently moment scheduled reports are limited to being run once a day only and for many the coworking account may not be updated quickly enough.
More information about scheduled reports can be found here.
Easy to implement
Accounts may go “overdrawn”
Can be automated
scheduled reports are limited to being run once a day
After running the reports and updating any accounting systems you have the option of resetting users’ PaperCut balance via the Papercut web services API.
Export job charges via the Transaction to File Gateway.
The transaction to file gateway works best when the user has zero balance in PaperCut an call funds from the management software. As the user performs jobs (print release, copy etc) then PaperCut will write the details to a transaction file.
Your integration can monitor this file and process transactions as they are appended to the file. Please contact firstname.lastname@example.org for more information on the Transaction to File gateway
Almost “real-time” notification of PaperCut charges
PaperCut cannot check the user’s balance. All jobs are performed and the charge written to the file. This also means that during a copy job there is no zero stop
Simple to implement, just read information off the end of the file
Charge for jobs using a custom Payment Gateway integration
In this approach you need to create a Java plugin to PaperCut that provides the following functions:
Balance enquiry — PaperCut will check this before releasing a print job or starting a copy job
Debit Function — PaperCut will call this with the final cost of the job once it is complete
This is referred to as the on demand payment gateway API. Generally each users’ PaperCut balances are kept at zero and funds for each job are debited via the Payment Gateway integration, but users can maintain PaperCut balances if needed.
“real-time” notification of PaperCut charges
Harder to implement. Requires knowledge of Java programming and deployment
PaperCut checks account balances before performing job. This includes support for zero-stop copy tracking (depending on copier platform)
Account Synchronization and Authentication
PaperCut has two types of user account
External Account: usually provided via an LDAP or Active Directory (AD) server, but can also be supplied via a custom source (discussed below). In simple terms the external account source must provide:user name (as added to print job headers) and may provide the card ide (for swipe logon at devices). In addition the external source must provide password authentication services. Also group memberships.
Internal Accounts: PaperCut maintains all account details, including the username, password, group membership and card ID (if used).
If your coworking space software provides membership information via LDAP service then you should test with that in the 1st instance.
Maintain internal user accounts using the web services API
If your coworking space software supports callouts (for instance when a user account is updated or created) then you can make web services API calls to PaperCut to make the corresponding changes as they occur in space management software.
Note on group management: When no LDAP server is used then API calls may be used to manage user groups. Note however if the PaperCut server is then connected to LDAP (or AD) group settings will be overwritten by settings from the server. Alternatively groups and group membership can be maintained via the additional-groups.txt file — more details here
If the coworking space software supports notifications or callouts then it’s simple to understand and possibly simple to implement
Can be complex to implement depending on the coworking software in use.
Will require a large number of PaperCut API calls to maintain the various changes, which adds to the complexity.
Synchronise account details with a custom program
For technical details of this approach see this article. This will maintain external account details in Papercut, in a similar fashion to LDAP or AD servers.
This approach requires you to create a custom program (that can be run from the command line) and replaces the basic functionality of an LDAP server. This allows a PaperCut to
Nightly: get an updated list of users, group membership and card numbers
On demand: Get information about new users PaperCut has not seen before
On demand: Validate passwords
If the coworking space software has it’s own API this is is possibly simple to implement
Because this API is calling a command line program for very large sites with a lot of authentication requests there may be a performance penalty
Much simpler to implement the PaperCut interface as no calls are required to the web services API
Shared Account Management
These are not often used in coworking spaces because users have individual accounts. However they are sometimes useful for team membership.
Generally users are configured to automatically charge to a single (team) shared account, so no PaperCut pop up client is required.
Shared accounts can be managed via the PaperCut web services API (e.g. creation, balance update, deletion and controlling access)
Additionally user group membership can be used to control access to shared accounts
This release contains an updated Java version which no longer supports 32-bit workstations. If you have any 32-bit users launching the User Client or Release Station from a network share, see this Knowledge Base article for more information.