This error message indicates that you have a syntax error in your formula. Looking at your formula, you're missing an ELSE statement for your conditional. You always need to end with an ELSE, even if you have an ELSE IF in the middle.
Thank you - this has been a huge help.
In terms of best practice and performance you could also create a line item to add some of the values together before using in the IF statement.You could also make a system module for Package and calculate the booleans once there.
Create an intermediate line item:
X = IF SYS Package.Purchase Order Type OR SYS Package. Subcontractor Type THEN B1 + B2 + B3 + B5 + B6 ELSE 0
The system module would replace the use of Type line item in your module
Then your line item would be:IF SYS Package.Purchase Order Type THEN X + B4 ELSE IF SYS Package. Subcontractor Type THEN X ELSE 0
The principles here are to do as few calculations as possible, part of this is achieved by using a System module; the naming convention should be clear so future developers will understand where to look for properties relating to that list.