“Ten business days prior to the end of each Contract Quarter, Service Provider must <do very important thing or suffer a penalty>”.
Data “extraction” sucks here. What are you going to do with “Ten business days prior…”? It would be like Apple giving you a box of aluminium ore instead of an iPhone.
You’ll have to write out each Contract Quarter end date for the next 20 years, probably in a spreadsheet, then subtract ten business days from each of those. That’s 80 Contract Quarter end dates and 80 more calculations. You’re going to make mistakes.
Because it’s a 20 year contract, it’s almost certainly going to be amended over time. When an amendment affects this obligation, you’re going to have to find that spreadsheet that your colleague lost, tell everyone to ignore it, and make a new one. Every single time there's an amendment. More mistakes.
What you need is a concrete list of dates. It should also dynamically update whenever an amendment affects those dates.
The only way to do this is to capture the obligation, convert it to code, and then run that code whenever something changes to produce the concrete dates you need.
Extraction is dead. Long live capture and calculation.