Before invoices can be generated there are a set of billing checks that can be run that check everything is valid and can proceed to invoicing. These things are :
- Each group has the right status (HARVARD,OUTSIDE_ACADEMIC,COMMERCIAL)
- Each Submission has valid billing information whether it is expense code(s) or Purchase Orders.
If the Submission is split across expense codes then it checks everything adds up to 100%.
php plugins/Billing/InvoiceGeneratorTests.php -m mm -y yyyy
If errors are found it will report things like
Missing Group Type
No group type for group [Wirth] Allowed values are COMMERCIAL,HARVARD,OUTSIDE_ACADEMIC
To correct this - go to the relevant group page (click groups on sidebar and then the group name), press the edit button and select the right status. If it's not obvious then have a look at the affiliation of some of the group members to work it out.
Wrongly formatted Expense Codes - fixable
Setting submission Expense_Code_1 from [NSF EAGER : 385-34240-6600-144199-363225-0001-10005] to [NSF EAGER : 385-34240-8250-144199-363225-0001-10005]
These corrections (changing 6600 to 8250 or adding in dashes to the expense code) won't be saved by default. Use the -s option with the php command to save the changes.
Wrongly formatted Expense Codes - not fixable
Other expense code booboos include
 => Wrong expense code format for [Reagent_Request][REA00803] - [370.31660.825.133190.340437.0001.45042]  => Expense code doesn't match pattern [370.31660.825.133190.340437.0001.45042] for sub [REA00803]  => Wrong expense code format for [Reagent_Request][REA00828] -   => Expense code doesn't match pattern  for sub [REA00828]
For these you have to go into the Submission (or in this case the Reagent_Request) and reformat them manually.
Missing Purchase Orders
 => No purchase order  exists for [Reagent_Request][REA00796]
For these you have to create a new Purchase_Order entry (page) if one doesn't already exist.