G2 Fall report names PaperCut #1 in Print

Choose your language

Choose your login

Contact us

Help Center menu


PaperCut NG & PaperCut MF Manual


Manage large client billing databases

When using the Account selection, the User Client displays a list of client accounts for the user to choose from. This account list is downloaded from the server whenever the account list is updated (i.e. new accounts added). The accounts are downloaded in a very efficient compressed format (taking approximately 10-20 bytes per account). This works very well on the vast majority of sites that have less than 10,000 accounts and are running on fast network connection.

On sites that have 10’s of thousands of accounts and many workstations on remotes with bandwidth-limited WAN connections the accumulated bandwidth usage could be significant. To reduce this bandwidth usage, you can configure the clients to load the accounts from a file stored locally at each site. When the accounts are updated on the server, you can recopy the file to each site. This distributes the client account list to all users at a site by sending the account list over the network only once, instead of one copy per workstation/client.

The process works as follows:

  1. On the server the administrator sets up a scheduled task to run the server command to generate the client accounts file as follows:

    server-command create-user-client-accounts-file

    This creates the client account file in [app-path]/server/data/client/client-accounts.dat.

    For more information running server-command, see Server commands (server-command). See below for a sample batch file.

  2. Copy the client-accounts.dat to each of the sites running the client software. Copy the file to a shared location accessible by all users running the client (e.g. a file share).

  3. Configure the User Client to run with the

    --accounts-file "\\fileserver\path\to\client-accounts.dat"

    option. Clients at each site should use the accounts file stored locally at that site. The account file location can also be specified in the client’s config.properties file. For more information on client configuration settings, see Configure the User Client using the command-line.

  4. Clients then load the accounts from the file and not directly from the server. The client only loads the accounts from the server if it fails to load the accounts file (i.e. the file does not exist).

Below is an example batch script that you can schedule to run regularly on your PaperCut NG/MF server. Schedule this to run whenever your shared accounts are updated (e.g. once a day). Modify the script to reflect where PaperCut NG/MF is installed and where the client file is distributed.

REM Batch file to create and distribute the client accounts file
REM Create the client account file
[app-path]\server\bin\win\server-command create-user-client-accounts-file  

REM Copy to destination server
REM Create temp file, so clients do not load an incomplete file.
copy /y [app-path]\server\data\client-accounts.dat \\svr1\share\accounts.tmp
REM Rename the temp file the final account file name used by the User Clients
move /y \\svr1\share\accounts.tmp \\svr1\share\client-accounts.dat

copy /y [app-path]\server\data\client-accounts.dat \\svr2\share\accounts.tmp
move /y \\svr2\share\accounts.tmp \\svr2\share\client-accounts.dat

Known limitations

There is one minor limitation of using the client account file approach. When the account selection popup is displayed, it lists all the defined accounts (even if the user does not have permission to charge to these accounts). The server still enforces security to ensure that users can only charge to the accounts they have permission to access.