Sorry .NET Reflection
You can use a program like .Net Reflector to see what epicor expects and view (some of) the Epicor Code. For example for the pro-forma invoice. Epicor has this function on Form Loaded
it looks for if LaunchFormOpts is a ReportArgs
If not, then it looks for LaunchFormOpts.ValueIn being an order numer
etc…
