Hi Zach,
From what you described here, it seems that,
when 30, 60, 90 day emails are sent in Marketo, the billing system needs to get notified. So that the billing team can do their stuff.
I think the better method to use here will be 'Marketo webhooks' and not 'web services'.
Web hooks let you notify external system when an event happens in Marketo.
Web services allow external systems to 'connect' and 'read / write' data in to Marketo.
Technically your billings team can create a program and connect to Marketo via web services. But they will have to 'poll' (i.e. daily check if there are any new records that needed to be acted on'). And it will involve some Marketo API coding.
But since webhooks are 'triggered' from Marketo, you can trigger them exactly at the right time and no 'daily' polling etc is needed.
Steps:
Let's say the billing team wants the email address of the person and the number of days passed.
1> Have the billing team create a web form / web service that will accept an email address and days passed as a number. When this form is submitted, the billing system should update that person's record with the days passed number. They can do the rest in their billing system.
2>In Marketo, you then create a 'webhook' named like 'send to billing system'. This web hook send the email address and number of days number to this web form the billing team have setup.
3> In Marketo, simply update the smart campaigns that send the 30, 60 and 90 day emails. After each 'send email' flow action, simply add 'send to billing system' webhook flow action and pass the day number from a field (with value 30, 30 or 90).
4> And you are done.
Easier for you, easier for the billing team and easier (less processing) for the Marketo (and billing server)
Hope this helps
Rajesh Talele