From free trial to paid subscription
Use one Runtime identity from first start through portal claim, checkout and automatic paid-License refresh.
1. Start a genuinely new Runtime
Use a fresh persistent Runtime data directory and leave the commercial key empty:
XIOTBOX_LICENSE_KEY= XIOTBOX_LICENSE_SERVICE_URL=https://license.xiotbox.com
On first successful start, Runtime registers its installation identity and requests one automatic 30-day free_trial. A second Runtime Manager record pointing to an existing Runtime URL does not create another trial.
2. Add it to Runtime Manager
- Open Self-hosted Print → Runtime Manager.
- Create one record using the Runtime public URL.
- Copy the automatically generated Management Token into
XIOTBOX_MANAGEMENT_TOKENin the Runtime deployment. - Recreate the Runtime container after changing
.env. - Save, then click Refresh Status and Refresh License.
The expected state is Free Trial, Active, and Not Claimed.
3. Claim the Runtime
- Click Claim This Runtime.
- The sales portal opens. Register or sign in.
- Confirm that the displayed Runtime ID is the one shown in Runtime Manager.
- Click Confirm Runtime claim.
Claiming assigns the installation to the signed-in portal customer. It does not create another Runtime and does not charge the customer.
4. Verify the portal link
Open My Account → My Runtimes. The claimed Runtime must show the same Runtime ID, current plan, status and expiration date. Return to Odoo and refresh the License once more; Portal Claimed should now be enabled.
5. Convert or renew
- Click Renew subscription in My Runtimes, or Renew Subscription in Runtime Manager.
- Select Professional or Enterprise and the subscription term.
- Continue to the shopping cart and verify the Runtime ID, plan, term and amount before paying.
- Complete payment. The License changes only after the sales order is confirmed.
6. Confirm the paid License
After order confirmation, Runtime refreshes its signed License automatically. To verify immediately, click Refresh License. The plan should change from free_trial to professional or enterprise, while the Runtime ID remains unchanged.
Common problems
| Symptom | Cause | Action |
|---|---|---|
| HTTP 401 | Runtime Manager and Runtime use different Management Tokens. | Copy the exact token shown by Runtime Manager into XIOTBOX_MANAGEMENT_TOKEN, then recreate the container. |
| No claim button | The Runtime is already claimed, the License was not refreshed, or the record points to the wrong Runtime. | Refresh License and compare the Runtime ID and URL. |
| Trial rejected | The same machine identity already received a free trial. | Claim the existing Runtime or purchase a subscription. Do not repeatedly delete data directories to obtain trials. |
| Renewal page is not found | The signed-in portal account does not own that Runtime. | Sign in with the account that completed the claim. |
| Payment completed but plan unchanged | The sales order is not confirmed or Runtime has not refreshed yet. | Check the order state, then Refresh License. |