First checks dealer option "Accept Online Payment" (must be checked)
Then checks all Payment Methods
    Invoice (PO)
      If customer is NOT logged in then check Dealer option "DO NOT Allow Checkout by Purchase Order"
      If customer IS logged in, then check customer setting "DO NOT Allow Checkout by Purchase Order" (IF THIS SETTING HAS NEVER BEEN CHECKED OR UNCHECKED, THEN IT WILL LOOK TO Dealer Setting -> Users -> New Customer Settings -> DO NOT Allow Checkout By Purchase Order )
    Credit Card (Marathon, Authorize.Net or Elavon)
      Checks the Customer Setting "Accept Orders by Credit Card"
 
If there are NO payment Methods enabled Then it will be by invoice, and it checks whether there is a subaccount with a credit card in it, if it is, it will send it to SSI using the subaccount Credit Card, otherwise it sends it down to SSI as a normal invoice/PO.

ALSO if you want the customer to use a credit card, you MUST set the "Force Web Pymt:" option to "Y" on the SSI side for the customer, otherwise the credit card option will keep disabling anytime a customer refresh is performed.

 
So, if you want..

Just Invoicing
    Don't enable any of the "Payment Methods" in the Dealer admin panel.
    Or only enable the "Invoice" Payment Method and make sure that the customer setting "DO NOT Allow Checkout by Purchase Order" is NOT Checked.
 
Just Credit Card
    Enable only the credit card payment methods, and make sure that all customers have the "Accept Orders by Credit Card"
 
If you want BOTH Credit Card and PO's, then on the dealer side:  enable them both in the payment methods, AND make sure in the profile->Users->New Customer Settings->DO NOT Allow Checkout By Purchase Order is unchecked.  On the Customer Side, also make sure the "DO NOT Allow Checkout By Purchase Order is unchecked.