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 an integration. This article provides a brief overview of the options that integration developers have to create a new connection with PaperCut MF/NG.
There is also sample code for PaperCut APIs hosted on GitHub: See the more general PaperCut Examples code or Examples of Custom Authentication and Synchronization modules.
Before starting the project you should check to see if someone has already developed an integration. Ask you coworking space software provider in the first instance. You should also look on our integrations page.
As always, feel free to provide feedback in the comments section at the end of this article.
About Coworking spaces
Coworking spaces provide office space and facilities (for example, desks, chairs, internet access, meeting rooms, printing, copying, refreshments, etc.) that people or teams can book and use instead of taking a full-time lease on dedicated office facilities. The organization managing the coworking space usually uses a dedicated software package to manage membership of the space and charge for the various facilities used.
When PaperCut is used to track printing and copying in these facilities, there are three key integration requirements:
- Manage user and team account balances so that people do not overspend on printing, copying and other jobs
- Export job cost data from PaperCut so that the correct coworking accounts are charged for the cost of jobs.
- Access user account information to manage authentication for print release and other features that require a login to PaperCut. For example, to identify print and copy jobs, and track charges for jobs to the correct personnel or team account.
The following sections address various aspects of these three requirements, a brief discussion of shared account management and a reading list of useful topics. All of these scenarios assume that users register in the coworking space software and have an available balance before they start printing or copying.
Tracking and charging for jobs using PaperCut via Personal and Shared Account Balances
Manage user account balances so that people do not overspend on printing, copying and other jobs
Note: This section is about PaperCut users’ personal account balances. Shared accounts are discussed separately below.
It’s often useful (and simple) to allow users to manually transfer money from their coworking managed account into PaperCut. Once users have a personal balance in PaperCut they can use this “Personal print and copy budget” as required. Because they know how much they have transferred, they don’t get any surprises if they should accidently print, for example, a 100 page document.
The PaperCut web services API can be used for this (see Further Reading below).
|Easy to implement||Jobs might be declined with insufficient funds|
|Gives users total control on their PaperCut “spend”||Will need a process to refund balances when account is closed|
Manage team account balances so that team groups do not overspend on printing, copying and other jobs
In PaperCut MF/NG shared accounts provide access to a common balance team members can be configured to use if needed.
When shared accounts are in use, users are often configured to automatically charge to a single (team) shared account, so no user interaction is required. However, if needed, the user can be configured to select specific personal or shared accounts via the Pop Up client (when printing) or at the MFD (when copying or releasing a print job).
Shared accounts can be managed via the PaperCut web services API (for example, creation, balance updates, deletions, and access control).
Additionally user group membership should be used to control access to shared accounts
Export job cost data from PaperCut so that the correct coworking accounts are charged for the cost of jobs.
Using PaperCut MF/NG reports
You can export detailed job information from PaperCut MF/NG using the built-in in reports, The reports can provide information in CSV format for convenient processing and import into the coworking space accounting software.
User and team accounts can be unrestricted —users print and copy freely and costs are recovered later — or restricted and account balances are managed as discussed above.
Scheduled reports can be run regularly (maximum once a day), or you can trigger an ad hoc report at any time from the web services API (More detailed information about the report API calls can be found here ).
More information about scheduled reports can be found in the PaperCut NG/MF Help Center.
|Easy to implement||Accounts may go “overdrawn” if unrestricted|
|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 balances via the Papercut web services API.
Charge for jobs using a custom Network Payment API integration
In this approach to tracking and charging for jobs, you need to create a RESTful API server that provides the following functions:
- Balance and credit enquiries — 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
Generally each user’s PaperCut balance is kept at zero and funds for each job are debited via the Payment API integration when the job is charged.
|Real-time” notification of PaperCut charges||Harder to implement. Need to implement an API server|
|PaperCut checks account balances before performing a job. Includes support for zero-stop copy tracking (depending on copier platform)|
Export job charges via the Transaction to File gateway
The Transaction to File gateway works best when the user has zero balance in PaperCut and unlimited call funds from the management software. As the user performs jobs (print release, copy etc.) PaperCut MF/NG writes the details to a transaction file.
Your integration can monitor the transaction file and process transactions as they are appended to the file. Please contact email@example.com 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 charges are written to the file. This means that during a copy job there is no zero stop|
|Simple to implement; just read information off the end of the file|
Access user account information to manage authentication for print release and other features that require a login to PaperCut
This is also referred to as “User Account Synchronization and Authentication”
PaperCut has two types of user accounts:
- External Accounts: 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 a user name (as added to print job headers) and may provide the card ID (for swipe logon at devices). In addition, the external source must provide password authentication services and group membership information.
- Internal Accounts: PaperCut maintains all account details, including the username, password, group membership, and card ID (if used).
If your coworking space software already provides membership information via an LDAP service, then, we recommend you set up account synchronization and authentication using the LDAP service.
Synchronise account details with a custom program
This approach maintains external account details in PaperCut in a similar fashion to LDAP or AD servers. It requires you to create a custom program to run from the command line that 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 that PaperCut has not seen before
- On demand: validate passwords
For technical details of this approach see this article.
|If the coworking space software has its own API, this is possibly simple to implement||Some programming effort is required|
|Much simpler to implement the PaperCut interface as no calls are required to the web services API|
Maintain internal user accounts using the web services API
If your coworking space software supports callouts (for example, 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, you can use API calls to manage user groups. However, if the PaperCut server is then connected to LDAP, AD or a custom sync program at a later date, the new account source will overwrite the group settings. Alternatively you can maintain groups and group membership 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|
Because maintaining internal user account details via API calls can be complex, using a custom authentication and synchronization is recommended, but in some cases using internal accounts and API calls may be the only option.
Suggested further reading
Categories: How-to Articles, Scripting and APIs, Charging and Billing, Reporting
Keywords: integration, technical integration, coworking