(Please click on the hexagons for more information)
Allows to create, send and track the payment of invoices. The module supports multiple invoice templates and the invoicing of multiple projects in a single invoice. Invoicing can be an important part of the administrative work in a consulting company. This is particularly true if the company bills their customer on a per-effort base. This document explains the different billing scenarios and how they are covered by ]project-open[.
Supported Billing Scenarios:
"Fixed price" projects are the easiest type of billing in ]project-open[: The provider (you) sends a quote document (MS-Word, PDF, ...) to a customer, quoting a number of products and services. To keep track of this quote you create a "quote" object in ]po[ with the same quoted price and (more or less) with the same structure.
You create such a quote by manually filling in a number of invoice lines. We call this "Create Quote From Scratch", meaning that the quote is not created from any underlying data.
Finally, once the project has finished you will send your customer an invoice. This invoice will probably look much like the initial quote but may contain some changes. This is why we have included a function called "Create Invoice from Quote". This function uses your quote as a template but gives you full control to manually modify all elements, add new invoice lines etc.
This is a variant of the "fixed price" project. Imagine that you have agreed an explicit payment schedule in your original quote document with three partial payments.
]po[ offers you all the support for this scenario that there is - it lets you write your three invoices manually, one-by-one. This is the only reasonable solution here, because the system can not reasonably take any assumption about how you want to distribute the money between the payments etc.
However, the "Financial Controlling" functionality allows you to check a posteriori if the sum of the three invoices is equal to the initial quote.
For these companies it is impractical to create a separate invoice for each project. Instead, they prefer to write periodic invoices that cover several projects at a time.
]po[ supports this billing mode by allowing you to include multiple projects in a single invoice via the "Create Invoice from Timesheet Tasks" wizard.
Cost based projects are usually billed by the number of days or hours that the provide has been working on the the projects.
To capture these efforts, ]po[ includes a timesheet management system which allows employees to log their hours on project tasks. The accountant can aggregate these hours at the end of the project and create invoices based on the total time spent.
This is a variant of "cost based project". Many service companies provide their customers with maintenance services for a deliverable from a previous project. These maintenance services are billed periodically to the customers.
In order to use this billing mode we recommend that you setup a new project or sub-project for each maintenance period. At the end of the period the bill will arrive to the customer just like in "cost based billing" and you close the (sub-) project.
]po[ supports the concept of "repeating financial items", such as a service contract, a rental contract etc. Repeating financial items can be included in an invoice similar to the "Many Small Projects" case.
A very important function of ]po[ billing is guarantee that each item is billed exactly once. Multiple billing must be avoided as well as "forgetting" to bill an item.
In order to provide guarantee this consistency, ]po[ keeps track of the relationship between billable items and invoices.
Also, ]po[ removes projects from the time sheet module if it has been closed for billing.
Quotes are created based on reference prices managed with the customer accounts price table.
If no reference price is found, the prices as set by default wit the 'Internal' company are taken.
Maturity
Related Tutorials
Related Object Types
Related Packages
Related Modules
lib/dependency-tree.adp lib/dependency-tree.tcl lib/finance-document-comparison.adp lib/finance-document-comparison.tcl tcl/intranet-invoices-procs.tcl Bring together all "components" (=HTML + SQL code) related to Invoices
im_invoice_change_oo_content Takes the provided contents and places them in the content.xml file of the odt file, effectivly changing the content of the file. im_invoice_item_permissions Fill the "by-reference" variables read, write and admin with the permissions of $current_user_id on $user_id im_invoice_item_status_active im_invoice_item_status_deleted im_invoice_item_type_default im_invoice_nr_variant Returns the next available "variant" of an invoice number. im_invoice_oo_tdom_explore Returns a hierarchical representation of a tDom tree representing the content of an OOoo document in this case. im_invoice_payment_method_select Returns an html select box named $select_name and defaulted to $default with a list of all the partner statuses in the system im_invoice_permissions Fill the "by-reference" variables read, write and admin with the permissions of $current_user_id on $user_id im_invoice_rounding_factor Gets the right rounding factor per currency. im_invoice_rounding_factor_helper Gets the right rounding factor per currency A rf (rounding factor) of 100 indicates two digits after the decimal separator precision. im_invoice_update_rounded_amount Updates the invoice amount, based on funny rounding rules for different currencies. im_invoices_check_for_multi_project_invoices Check if there are invoices around that are assoicated with more then one project. im_invoices_default_company_contact Return the most appropriate company contact for an invoice. im_invoices_default_company_template Business logic to determine the default invoice template for the given cost type at the given company. im_invoices_dependency_tree_component Returns a HTML portlet with a graph on how this financial document relates to others. im_invoices_finance_document_comparison_component Returns a HTML table with a comparison of the volume of FinDocs per type and outline_number. im_invoices_object_list_component Returns a HTML table containing a list of objects associated with a particular financial document. im_invoices_select Returns an html select box named $select_name and defaulted to $default with a list of all the invoices in the system. im_invoices_unify_select_projects Input is the list of projects related to a financial document. im_next_invoice_nr Returns the next free invoice number. im_package_invoices_id im_package_invoices_id_helper
www/ | |
dashboard.adp | |
dashboard.tcl | Offers a menu to create new Invoices, Quotes, POs and Bills |
index.tcl | Empty redirection index.tcl file |
invoice-action.tcl | Purpose: Takes commands from the /intranet/invoices/index page and deletes invoices where marked |
invoice-association-action-2.tcl | Associates an object with an invoice (financial document) |
invoice-association-action.adp | |
invoice-association-action.tcl | Allows to "associate" a project with a financial document. |
invoice-discount-surcharge-action.tcl | Adds lines for discount/surcharge to the Invoice |
list.adp | |
list.tcl | List all invoices together with their payments |
new-2.tcl | Saves invoice changes and set the invoice status to "Created".<br> Please note that there are different forms to create invoices for example in the intranet-trans-invoicing module of the intranet-server-hosting module. |
new-copy-custselect.adp | |
new-copy-custselect.tcl | Copy existing financial document to a new one. |
new-copy-invoiceselect.adp | |
new-copy-invoiceselect.tcl | Copy existing financial document to a new one. |
new-copy.adp | |
new-copy.tcl | Copy existing financial document to a new one. |
new-cost-center-select.adp | |
new-cost-center-select.tcl | Determine the cost center (i.e. |
new.adp | |
new.tcl | Receives the list of tasks to invoice, creates a draft invoice (status: "In Process") and displays it. |
notify.adp | |
notify.tcl | Purpose: Send an email to the accounting/project contact to inform about the invoice. |
payment-action.tcl | Purpose: Takes commands from the /intranet/invoices/index page and deletes invoices where marked |
view.adp | |
view.tcl |
Calle Aprestadora 19, 12o-2a
08902 Hospitalet de Llobregat (Barcelona)
Spain
Tel Europe: +34 609 953 751
Tel US: +1 415 200 2465
Mail: info@project-open.com