I have a table that lists out invoices and their details. In this table, the user is able to select multiple invoices and pay selections all together. In its current state, we only list out UNPAID invoices.
We want to add a "Status" column so the user is able to see all of their other invoices including PAID and VOIDED ones.
The checkbox in each row will still need to be there because the user needs to:
- Be able to pay for multiple UNPAID invoices
- Be able to download statements for multiple invoices regardless of status
Problem
So the problem is, the "Download" and "Pay" buttons are enabled/disabled depending on which invoice statuses are selected, which I think is confusing to the user.
Potential solution
Add a filtering options to the table.
If UNPAID filter is active:
- A checkbox for each row is available
- "Download" and "Pay" buttons are available (and enabled if selections are made)
If PAID/VOID filter is active:
- A checkbox for each row is available
- Only the "Download" button is available (and enabled if selections are made)
If no filter is active - ie, all invoice statuses are showing:
- A checkbox for each row is available
- Only the "Download" button is available (and enabled if selections are made)
My only gripe about this solution though is, it may not be clear to the user why the "Pay" button isn't visible in some states. I think they'll eventually realize that, "Oh yeah, the pay button isn't there because it doesn't make sense to be able to pay already paid or voided invoices", but I don't think it's intuitive.
And they will only be able to pay multiple invoices at once if the PAID filter is active.
Any suggestions?