The Invoice payment module has been posted to the download site at
You may mark customers as being able to pay by invoice by adding them to a pricing group whose name with the string "invoice." In this way, multiple pricing groups (with multiple discounts) may be used in conjunction with payment by invoice.
Two new files, no overrides, no database schema changes. Four or five steps depending on your needs.