Suitable way to record users requests for usage invoicing/billing in database?
For a simple solution, you can add a nullable foreign key to an INVOICE table to your USER_REQUEST.  If you want to know what needs invoicing, just select everything for a given user that has a NULL foreign key.

When you create the invoice, set the foreign key to point to the new invoice.

For a more complex, but more sophisticated solution, you may want to consider an intersection table between the USER_REQUEST and an INVOICE_ITEM table.  This solution will recognize and handle the situation where an item is charged on one invoice, then returned on a credit note, and possibly even re-invoice again, and so on...