Some network printers have accounting features.
If you are using a print server running the CUPS print system, CUPS can log date-time, job number, user, pages, and size of job. (Perhaps more, I did not revisit the MAN page or CUPS documentation online). In this case you could set up a MySQL or Postgresql database, run a script to parse the log every day (1AM) and filter on the previous days date, and submit the information to the database. Then, every billing cycle, generate a report on jobs during the cycle. Given the rate structure, you might even have it calculate the charge for each user.