O3O Office Online pricing
Two plans: the free Community edition and Enterprise, priced per concurrent connection, either annually or perpetual with 3 years of updates. Prices are listed in USD. About O3O Office Online
Free
Community
- 50 concurrent connections
- The DEV test image stops at 20 connections
- No license token, no expiry date
- Editor embedding and Nextcloud integration
- Limited DocBuilder API, no template filling
- No white-labelling
Enterprise
Annual subscription
per connection per year, from 50 connections; down to 3.5 USD from 501
- Minimum 50 connections per order
- The full purchased connection count needs the O3O image built from source: coming soon
- Full DocBuilder API, job callbacks
- DocBuilder limits scale with connections
- 7-day grace period after expiry
Enterprise
Perpetual, with 3 years of updates
per connection, one-time, from 50 connections; down to 8 USD from 501
- Minimum 50 connections per order
- The full purchased connection count needs the O3O image built from source: coming soon
- Same Enterprise features
- Use indefinitely, new releases for 3 years
/o3o/status reports the Community limit of 50; on this image the Community edition does not reach 50 connections. Using a plan's full connection count, including every Enterprise order, needs the O3O image built from source; orders above 50 connections also need that image built with a large enough cap. The O3O image built from source: coming soon.What counts as a connection
1 connection = 1 concurrent editing session: one document window opened with edit permission on the editing server.
Counting follows the session's edit permission, not whether anyone is typing: someone with edit permission who opens a document only to read it still uses 1 connection; only sessions opened with read-only permission (permission=readonly or UserCanWrite=false) are not counted.
- One person with 3 documents open for editing: 3 connections.
- Three people editing the same document: 3 connections.
- One person with edit permission who opens a document only to read it, without typing: 1 connection.
- Ten people opening a report with read-only permission: 0 connections.
- A system asking DocBuilder to convert 1,000 files to PDF: 0 connections (DocBuilder has its own per-plan limits).
Not counted: sessions opened with read-only permission; any DocBuilder request, including file conversion with POST /v1/convert; health checks and configuration queries of the editing server. The conversion path built into the editing server (/cool/convert-to) is not exposed through the proxy: calls from outside get 404.
How it is measured: the gate reads the number of sessions with edit permission every 10 seconds and enforces the limit on the instantaneous count (including sessions just admitted but not yet sampled). Reports and reconciliation use the 5-minute sliding peak. After a network drop, reopening the same document within 120 seconds is still admitted even at the limit, under the reconnect grace slot the gate keeps for a document whose editing session has just closed.
Price calculator
Minimum 50 connections per order. The tier price applies to all connections in the order.
- Unit price
- —
- Connections granted
- —
- Total
- —
- Reference in VND
- —
Price tiers
| Connections in the order | Annual subscription USD per connection per year | Perpetual, with 3 years of updates USD per connection, one-time |
|---|---|---|
| 50 – 200 | 5 USD | 10 USD |
| 201 – 500 | 4.5 USD | 9 USD |
| 501 and above | 3.5 USD | 8 USD |
The tier price applies to all connections in the order; it is not split progressively across tiers. Each order is at least 50 connections; below that, the free Community edition already provides 50 connections.
The never-pay-more rule
Because the unit price drops by tier, buying fewer connections can cost more than buying more. Annual example: 190 connections × 5 USD = 950 USD, while 201 connections × 4.5 USD is only 904.5 USD. The rule: the amount charged for n connections is the cheapest amount over every level m ≥ n (and m ≥ 50). When a higher level is cheaper, you pay that level and are granted exactly the connection count of that level: the invoice states 201 connections × 4.5 USD and the license token grants exactly 201 connections, not 190.
| Option | When you enter | Tier price for that number | Amount charged | Connections granted |
|---|---|---|---|---|
| Annual subscription | 181 – 200 | 905 USD – 1,000 USD | 904.5 USD | 201 |
| Annual subscription | 390 – 500 | 1,755 USD – 2,250 USD | 1,753.5 USD | 501 |
| Perpetual, with 3 years of updates | 181 – 200 | 1,810 USD – 2,000 USD | 1,809 USD | 201 |
| Perpetual, with 3 years of updates | 446 – 500 | 4,014 USD – 4,500 USD | 4,008 USD | 501 |
This table is computed from the tiers when the page is built and checked against plans.json; the calculator above uses the same rule.
Worked examples
| Needed | Annual subscription | Perpetual, with 3 years of updates | ||||
|---|---|---|---|---|---|---|
| Tier price | Charged | Granted | Tier price | Charged | Granted | |
| 50 | 250 USD | 250 USD | 50 | 500 USD | 500 USD | 50 |
| 120 | 600 USD | 600 USD | 120 | 1,200 USD | 1,200 USD | 120 |
| 190 | 950 USD | 904.5 USD | 201 | 1,900 USD | 1,809 USD | 201 |
| 200 | 1,000 USD | 904.5 USD | 201 | 2,000 USD | 1,809 USD | 201 |
| 201 | 904.5 USD | 904.5 USD | 201 | 1,809 USD | 1,809 USD | 201 |
| 300 | 1,350 USD | 1,350 USD | 300 | 2,700 USD | 2,700 USD | 300 |
| 450 | 2,025 USD | 1,753.5 USD | 501 | 4,050 USD | 4,008 USD | 501 |
| 500 | 2,250 USD | 1,753.5 USD | 501 | 4,500 USD | 4,008 USD | 501 |
| 501 | 1,753.5 USD | 1,753.5 USD | 501 | 4,008 USD | 4,008 USD | 501 |
| 800 | 2,800 USD | 2,800 USD | 800 | 6,400 USD | 6,400 USD | 800 |
Highlighted rows are where the never-pay-more rule applies. Prices are listed in USD.
Plan comparison
| Community | Enterprise | |
|---|---|---|
| Price | 0 USD | Annual 3.5–5 USD per connection per year, or perpetual 8–10 USD per connection |
| Concurrent connections (editing sessions) | 50 | As purchased, minimum 50 per order |
| License token | Not required | Required, verified offline |
| Soft overage at the limit | No | coming soon |
| O3O.Editor embedding | Yes | Yes |
| Save callback for embedded documents | Yes | Yes |
| White-labelling (logo, name, colours) | No | coming soon · needs the O3O image built from source |
| DocBuilder: requests per minute | 10 | 60 per 50 purchased connections (rounded up), minimum 60, maximum 3,000. Examples: 50 → 60; 120 → 180; 200 → 240; 201 → 300 |
| DocBuilder: requests per day | 200 | Unlimited |
| DocBuilder: parallel jobs | 1 | Equal to the configured worker count |
| DocBuilder: maximum queued jobs | 10 jobs | 1,000 jobs |
| DocBuilder: maximum file size | 10 MB | 300 MB |
| DocBuilder: result retention | 15 minutes | 24 hours |
| DocBuilder: synchronous timeout | 60 seconds | 60 seconds |
| DocBuilder: job timeout | 120 seconds | 600 seconds |
| DocBuilder: asynchronous jobs | Yes | Yes |
| DocBuilder: job completion callback | No | Yes |
| DocBuilder: maximum o3oscript size | 500 units | 20,000 units |
| DocBuilder: outputs per build | 1 | 5 |
DocBuilder endpoints by plan
| DocBuilder endpoint | Community | Enterprise |
|---|---|---|
GET /v1/status | Yes | Yes |
GET /v1/formats | Yes | Yes |
GET /v1/limits | Yes | Yes |
POST /v1/convert | Yes | Yes |
GET /v1/jobs/{id} | Yes | Yes |
GET /v1/files/{id} | Yes | Yes |
POST /v1/build | Yes | Yes |
POST /v1/template/render | No | Yes |
POST /v1/extract/text | Yes | Yes |
POST /v1/extract/meta | Yes | Yes |
POST /v1/extract/thumbnail | Yes | Yes |
DocBuilder limits apply to the whole instance, not per API key. Only working POST requests count; GET requests never count.
Pricing FAQ
How is a connection counted?
A connection is one concurrent editing session: one document window opened with edit permission. One person with three documents open is three connections; three people editing one document is also three connections. Counting follows the session's edit permission, not whether anyone is typing: someone with edit permission who opens a document only to read it still uses 1 connection; only sessions opened with read-only permission (permission=readonly or UserCanWrite=false) are not counted. DocBuilder work is not counted. The gate samples every 10 seconds; reports use the 5-minute sliding peak.
Why am I billed for 201 when I enter 190?
Because 201 connections at the lower tier price cost less than exactly 190 at the higher one (904.5 USD versus 950 USD). Under the never-pay-more rule you pay the lower amount and are granted exactly 201 connections: the invoice states 201 connections × 4.5 USD and the license token carries exactly 201 connections. The same applies to perpetual licenses, for example 450 connections are billed at 501: 4,008 USD instead of 4,050 USD.
What happens when all connections are in use?
Open sessions are never cut and saving is never blocked. Someone opening an additional editing session sees a notice page with two buttons: open the document read-only, or try again. With the embedded editor the document still opens, read-only, and the page receives the onLimitReached event. After a network drop, reopening the same document within 120 seconds is still admitted even at the limit, under the reconnect grace slot the gate keeps for a document whose editing session has just closed. A view-only user opening a document from Nextcloud while the limit is reached may also see this notice first, because the gate does not yet know the session's permission when the page loads; the read-only button lets them in without using a connection. Soft overage for Enterprise: coming soon.
Does the Community edition expire?
No. It needs no license token, has no expiry date and works offline. Its limits are 50 concurrent connections, no white-labelling and a limited DocBuilder API (see the comparison table).
Why does a DEV test machine stop at about 20 editing sessions?
The DEV image has its own cap of 20 connections and 10 documents, so on a DEV machine editing sessions stop at about 20 even though /o3o/status reports the Community limit of 50; on this image the Community edition does not reach 50 connections. Using a plan's full connection count, including every Enterprise order, needs the O3O image built from source; orders above 50 connections also need that image built with a large enough cap. The O3O image built from source: coming soon. To test the limit behaviour on a DEV machine, set O3O_GATE_CONNECTION_CAP=2.
How does Enterprise with 50 connections differ from Community?
At 50 connections the connection count is the same as Community. The difference is in features and limits: template filling with POST /v1/template/render, job completion callbacks and higher DocBuilder limits (requests per minute, file size, result retention, script size). White-labelling belongs to Enterprise but is currently coming soon.
What happens when an annual subscription expires?
For 7 days after the expiry date the server keeps running as Enterprise. After that it falls back to Community (50 connections) without stopping; open sessions are unaffected and only new sessions are checked against the new limit.
What does perpetual with 3 years of updates mean?
You pay once and use the purchased connections indefinitely. For 3 years you may run every new release. The license token records when update rights end: releases built after that date will not accept the token and run as Community, while releases built before it keep running as Enterprise. The price for renewing update rights after 3 years has not been published yet; please contact us.
Are taxes included? Which currency do I pay in?
Prices are listed in USD. The VND amount in the calculator is for reference only, at 26,000 VND per USD rounded up to 1,000 VND. When you pay in VND, the USD to VND exchange rate is fixed and stored when the order is created, and the payment QR code keeps that exact amount. If an order expires unpaid, a new order is created at the exchange rate of that moment. VAT is confirmed in the formal quotation from o3o.vn.
What about more than 500 connections?
The current table applies the price of the tier from 501 connections (3.5 USD per year or 8 USD perpetual) to any larger number. For very large orders, please contact us.
Does DocBuilder use connections?
No. DocBuilder has its own per-plan limits: Community allows 10 requests per minute and 200 per day; Enterprise allows 60 requests per minute for every 50 purchased connections (rounded up, minimum 60, maximum 3,000) with no daily limit. For example, 120 connections allow 180 requests per minute.
How do I buy?
Request a quotation by e-mail at office@o3o.vn or call 0888 787 980. After payment, o3o.vn sends a license token; put it in O3O_LICENSE_TOKEN or the O3O_LICENSE_FILE file and the gate picks it up within 60 seconds without a restart. Online purchase and activation: coming soon.
Buy Enterprise
Send the number of connections, purchase option and invoicing details; o3o.vn replies with a formal quotation. Hotline 0888 787 980 · office@o3o.vn. Online purchase: coming soon.
Pricing for the O3O Office desktop suite 26.8.6 (Windows, macOS) is on the pricing page. Pricing last updated 21 September 2026.