Projects are associated with companies so you must have the *OWNER* company created before you create a project. That company can have 0 or more projects associated with it. However, and here's where it gets tricky, but very FLEXIBLE in ways you may not need now, but could need later. The billing company must also exist when you create a project.
For example, suppose your 5-man consulting enterprise wants to use phpaga to manage it's business invoicing. You have three projects, but you decide to break the company into Windows-arm, and Linux-arm. Two of your new projects are on Linux, and one is on Windows, for GE Capital. You create project A and select the customer as "GE Capital" and the Billing company as "Linux-arm". For project B it's the same thing. However for project C you select the Billing company as "Windows-arm".
For each project you can select a parent project. This allows phpaga to keep track of and visualize relationships between projects. If you go to live.phpaga.net and log in (with "demo" and "demo") and then go to the details page for the project "phpaga parent", you can see a relationship graph under the section "relations". This graph is created on the fly with the Graphviz package. Try clicking on one of the boxes representing a related project and you this project's page will load. The currently selected project will always show in green, whereas the other projects are shown in grey.