Filter contacts by an active subscription product aka line item

Welcome to the community @JohnCode! I think a custom object probably makes the most sense since there are some limitations as you’re finding in directly associating and filtering with line items.

If it’s a single product, you could also create a custom property on the Contact object (like “Active Subscription Product”) to store the associated product. Then you could set up a workflow triggered by subscription status changes (“Subscription Active” or “Cancelled”). The action would be to update the “Active Subscription Product” property on the contact record when the subscription is active. Then you’d clear the property if the subscription is canceled or unpaid. Finally, you’d filter contacts using this custom property in lists you could export for shipping.

Another alternative might be to creat a custom report (Contacts + Products) to export shipping addresses. You would filter by subscription status and product, then export the report’s CSV/Excel file for the printer.

Just a couple of options in addition to what you’re doing.