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
Suggested further reading on relevant topics:
Keywords: integration, technical integration, coworking