Site owner configuration
These settings are managed for the whole site. Users simply connect their own drive in BillNest.
Set up the free Telegram receipt bot
Google setup & email access
The steps before the first successful sync: who adds an email, where to click in Google, and where the Client ID belongs.
One Google project serves BillNest users. The project owner handles API setup and, while the app is in Testing, allows each person’s Google email. Users connect their own drive account in BillNest. Adding an email once covers that account on phones and computers; it does not share everyone’s records.
Enable Drive, create the web Client ID, and connect it to BillNest
Use these steps for initial setup or to check an incomplete setup. If sync already works and you only need to allow another email, use Allow someone’s email. Do not replace a working Client ID just to add a person.
- 1Google Cloud Console → APIs & Services → Library
Select the project and enable Google Drive API
Open the console and select the existing project at the top. Only for a brand-new setup, create a project first. Open APIs & Services → Library, search for Google Drive API, open that result, and click Enable. Keep this same project selected for the next steps.
Open Google Cloud Console(new tab)The Google Drive API page shows it is enabled, or a Manage button.
- 2Google Auth Platform → Branding / Audience
Set the app information and audience
If prompted, click Get Started. Enter BillNest as App name, select a User support email you monitor, and continue. Choose External for people outside your own Workspace organization. Enter the owner’s contact email, review Google’s policy, and finish with Create. For an existing app, review Branding and Audience instead.
For this site, the authorized domain is billnest.org. Use your real support details and appropriate homepage/privacy-policy links when Google requests them. Domain ownership or branding review may be required for publication.
Application home pagehttps://billnest.orgApplication privacy policy linkhttps://billnest.org/privacyApplication terms of service linkhttps://billnest.org/termsAuthorized domainsbillnest.org
Download the BillNest logo for GooglePNG · 120 × 120 pixels · under 1 MB. Under App logo, click Browse and select this file. Save the Branding page after entering the links.
The app has its support/contact details and the intended audience.
- 3Google Auth Platform → Data Access → Add or Remove Scopes
Allow the Drive permission BillNest uses
Find and select the exact scope below. If the scope picker offers manual entry, paste it there, add it to the selection, then save. This is the per-file permission used by BillNest’s direct sync; do not substitute the broad all-Drive permission.
Scope to selecthttps://www.googleapis.com/auth/drive.fileThe selected scope is drive.file. Save the scope changes.
- 4Google Auth Platform → Audience → Test users → Add users
Add the Google emails used for testing
While Publishing status is Testing, add your own Drive email and any other authorized testers, then Save. The administrator email is not automatically the Drive account used for testing. Follow Allow someone’s email above for the detailed clicks.
The account you will choose in the sign-in popup appears in the list.
- 5Google Auth Platform → Clients → Create Client
Create or open a Web application client
If a web client already serves BillNest, open it. Otherwise choose Create Client, set Application type to Web application, and give it a recognizable name, such as BillNest web. The phone uses the same website client; do not choose Android or iOS for this browser flow.
Application type is Web application.
- 6Clients → your web client → Authorized JavaScript origins → Add URI
Paste the exact website origin
Under Authorized JavaScript origins, click Add URI and paste the value below. No path, trailing slash, or dot after .org. Save the existing client, or click Create for a new client. This BillNest popup flow needs no redirect page, client secret, or Picker API key.
Authorized JavaScript originshttps://billnest.orgOnly add other origins if you actually host this same app there. Open billnest.org exactly when testing.
The saved origin is exactly https://billnest.org.
- 7Google Auth Platform → Clients → Client ID → hosting settings
Copy the Client ID into the site’s runtime configuration
Copy Client ID, the long value ending in .apps.googleusercontent.com. In the BillNest hosting project’s runtime environment variables, set the variable below to that entire value, then save and redeploy. Paste only the ID: no quotes, no JSON file, and no Client secret.
Runtime variable nameGOOGLE_CLIENT_IDThis is a site-wide hosting setting, not a box in BillNest’s business Settings. If you do not manage hosting, give the public Client ID to your site administrator and ask them to set GOOGLE_CLIENT_ID and redeploy. Hosting dashboard labels vary. Do not replace another user’s account details.
GOOGLE_CLIENT_ID contains the full public Client ID and the updated site is deployed.
- 8BillNest → Settings → Storage & Backup → Cloud sync
Complete a real sync in both directions
Start where the latest records are saved. Choose Connect Google Drive, select an allowed Google email, and wait for success. On the phone, open Cloud sync & backups, connect the same Google email, choose the existing profile, and unlock it. Check a recent draft. Make a small reversible change, save and sync, then sync on the first device and confirm it arrived.
A saved change arrives on the other device after successful sync in each direction.
- 9Google Auth Platform → Branding, then Audience
Open access beyond the test-user list
Owner only: finish the Branding fields in step 2 and save. Keep your support and developer contact emails up to date. If Google requests domain ownership, verify billnest.org in Google Search Console using an account that owns or edits this project.
When available, click Verify Branding. If it reports issues, open View issues and address the listed items. When the branding status says Ready to publish, click Publish branding. This publishes the approved name, logo, and links; it is separate from the app’s audience status.
Open Audience, confirm the user type is External, and choose Publish app under Publishing status. Read and confirm Google’s prompt, then check for In production. Follow any review Google requires. If Publish app is disabled, read its stated reason and correct the missing field or verification; saving website pages alone does not publish the OAuth app.
Public users do not create a Google project, paste a Client ID, or add their own email in the console. They connect their account in BillNest. Production access removes the test-user allowlist requirement; Google reviews and organization account restrictions can still apply.
Audience shows In production. Check branding separately and test a connection with an account outside the old test list.
Still blocked? Match the error to the next action
- Publish app is disabled
- Check the reason shown by Google. Complete and save Branding with the homepage, privacy, terms, and authorized domain in owner setup step 2. Then follow step 9 for verification and publication.
- access_denied / app is being tested
- Owner: check Audience → Test users in the correct project. User: choose that exact email.
- origin_mismatch
- Owner: check the web client’s Authorized JavaScript origins and compare its Client ID with the one saved on this site. User: open https://billnest.org without a final dot or extra subdomain.
- Phone verification completed, but no sync
- Verification signs you in to Google. Return to the consent popup, finish the requested access, then return to BillNest. Close an old error popup and reconnect if necessary; wait for BillNest’s sync success message.
- Blocked by a work or school account
- The organization’s Google administrator may need to allow the app even if its email is in the test-user list. Contact that administrator with the exact error.
Google menu names are shown in English to match these instructions. If your console is in French, look for the corresponding labels or switch its display language. Google may change screen layouts.