Hi Dan,
I was browsing this topic and saw that you did not have an answer for 2 weeks. Sorry for the delay. I will weigh in, in case you haven’t solved it already, and for others who might want to solve it too.
HubSpot Invoice Objects have a property called “PDF download link”
The internal name if you use API access is: hs_pdf_download_link
“name”: “hs_pdf_download_link”,
“label”: “PDF download link”,
Create an Invoice-Based HubSpot workflow to trigger when this property is “Known”
Have the workflow email it to whomever you need to, personalised with other Invoice properties.
If it is triggering before payment was made, you might need to include checking this property in your trigger:
“name”: “hs_status”,
“label”: “External Invoice Status”,
“type”: “enumeration”,
“fieldType”: “radio”,
“description”: “The external status of the current invoice. This value is retrieved from a third party and may not be modified”,
“groupName”: “invoiceinformation”,
“options”: [
{
“label”: “Waiting to be sent”,
“value”: “INVOICE_WAITING_TO_BE_SENT”,
“description”: “Invoice has been created and is waiting to be sent.”,
“displayOrder”: 0,
“hidden”: false
},
{
“label”: “Sent to customer”,
“value”: “INVOICE_SENT”,
“description”: “Invoice has been sent to customer.”,
“displayOrder”: 1,
“hidden”: false
},
{
“label”: “Partial payment made”,
“value”: “INVOICE_PAYMENT_MADE”,
“description”: “Partial payment has been made for invoice.”,
“displayOrder”: 2,
“hidden”: false
},
{
“label”: “Fully paid”,
“value”: “INVOICE_FULLY_PAID”,
“description”: “Invoice is fully paid and closed.”,
“displayOrder”: 3,
“hidden”: false
},
{
“label”: “Overdue”,
“value”: “INVOICE_OVERDUE”,
“description”: “Invoice is overdue.”,
“displayOrder”: 4,
“hidden”: false
},
{
“label”: “Voided”,
“value”: “INVOICE_VOIDED”,
“description”: “Invoice has been voided.”,
“displayOrder”: 5,
“hidden”: false
}
]
If you are accepting some Quote payments, quotes have similar properties:
“name”: “hs_pdf_download_link”,
“label”: “Quote PDF download link”,
And you could check for this property too: Triggering when the Quote paid date is known:
“name”: “hs_payment_date”,
“label”: “Payment date”,
“type”: “datetime”,
“fieldType”: “date”,
“description”: “The date the quote was paid by the customer”,
“groupName”: “quoteinformation”,
or this one:
“name”: “hs_amount_paid”,
“label”: “Amount paid”,
“type”: “number”,
“fieldType”: “calculation_equation”,
“description”: “The total value of non-failed payments associated to the invoice.”
or this one:
“name”: “hs_payment_status”,
“label”: “Payment Status”,
“type”: “enumeration”,
“fieldType”: “calculation_equation”,
“description”: “Payment status for the quote”,
“groupName”: “quoteinformation”,
“options”: [
{
“label”: “Pending”,
“value”: “PENDING”,
“description”: “Waiting for payment”,
“displayOrder”: 1,
“hidden”: false
},
{
“label”: “Processing”,
“value”: “PROCESSING”,
“description”: “Processing payment”,
“displayOrder”: 2,
“hidden”: false
},
{
“label”: “Paid”,
“value”: “PAID”,
“description”: “Paid”,
“displayOrder”: 3,
“hidden”: false
},
{
“label”: “No payment options”,
“value”: “PAYMENT_NOT_ENABLED”,
“description”: “No payment options”,
“displayOrder”: 4,
“hidden”: false
}
]
There are many properties you can trigger and filter on, to create the automation you need, not just for payments, but also for chasing up failed payments.
I got the details above via the HubSpot API to get properties on Invoice and Quote objects.
If you are not an API user, you can see a lot of the same information by checking out the properties available to choose in your workflow triggers and choosing what works for you.
Reply again here and tag me if you have any problems.
Happy Automating!
best
Pete