Sort of, but not ideally.
Unfortunately you can not bind elements to Current User data, the way you can bind to CMS items, so you’ll have to script a solution for this.
Off the top of my head, I imagine it would look like this;
MEMBERSHIP SETUP
Create a custom Membership field for your users called Invoice Link.
ADMIN
Populate the content using the member admin console, or through the Update User API.
MEMBER UI
On the User Account page, add your custom field, but wrap it in a hidden DIV. It will exist as an editable field, but be hidden from view.
Write a piece of script that delays 1 second, and the gets the value of that input element, and sets the src of a “View Invoice” link element or button you’ve designed. I’d hide that link initially too, and then make it visible only after setting the src value. That way they can’t click an un-set link.
NOTES
I think what you’re really wanting here is User-level gating on CMS Items. Then you can have an Invoices collection, where each invoice is tied to a specific User. No one else can access it. In theory, you’d setup a collection list, and it would be able to show that User’s invoices, descending by date, and no one else’s.
I’m not clear where those capabilities fit on the Membership team’s roadmap. Gating is a priority, but they’ve been pretty quiet about CMS item gating.
Also, the 1 sec delay is annoying, but I’ve done some experiments with this, and not found a good way around it. The problem is that when you load the User Account page, you see a delay before Webflow populates those fields with content.
That population is done by script, so it does not trigger a change() or input() event that we can use to capture the value once it’s available. Mutation observers also do not work here, since they’re changing the val() property of the input field and not the value
attribute. So the HTML itself isn’t changing, and the mutation observer doesn’t trigger.
The only solution I’ve found is a timer delay.