I have used Google Cloud for a while for my own projects. But this time I would like to deploy one of my customer's project to it. What is the best way to manage the fees?
Which one is the correct solution, or what do you use? If the second solution is the good one, how can I achieve it?
Thank you!
Let's review each option and consider everything from both you as the developer and the client who owns (pays for) the project. Think security and responsibility (legal, financial and ethical) when making these decisions.
Option 1:
Creating the project in my GC account and granting access to the customer to see the fees and send them invoices.
I would create a separate project for this customer and not mix their work into a project that has your own work. Granting the customer access to the billing information for a mixed account and then trying to separate items might take more time than it is worth. I don't recommend this method.
Option 2:
Creating the project in my GC account and somehow set their billing account to my project.
The customer will need to grant you access to their billing account which I do not recommend. I would not grant access to my billing account to a third party. They could attach any project they want I would get the bill. I don't recommend this method.
Option 3:
Creating the project in their GC account and ask for permissions to manage it.
This is the best option. The project and billing are under the client's control and the client grants you the required permission such as Project Editor to your user identity. Project Ownership and Billing responsibility remains with the client and the client can grant and remove access to you anytime they want easily without a ripple effect of additional work.