Open source alternative to Docusign: the 3-year bill, not the sticker price

Docusign's list price is per seat, but the invoice is per seat plus every envelope over a pooled annual allowance. This page prices both sides over 36 months - the subscription as it actually bills, and a self-hosted Documenso or DocuSeal stack including the VPS, the transactional email and the hours you will spend on it.

Price 36 months of e-signature

Net saving over 3 years —USD
Share of the vendor bill avoided —%
Vendor bill, 3 years —USD
Self-host bill, 3 years —USD
Self-host run rate —USD/mo
Break-even on setup labour —mo
Envelopes over the allowance —env/yr
Recommended vCPU —cores
Recommended RAM —GB
Local NVMe —GB

What to enter. Seats are the people who send envelopes, not the people who sign - signing has never been charged. Envelopes per year is the whole team's annual send volume, including the ones that get voided and re-sent. The included allowance is 100 envelopes per seat per year, pooled across the team, so 10 seats buy 1,000 envelopes a year whether one person sends 900 or ten people send 100 each. Seat price defaults to the Standard annual list of $25 per user per month; switch it to $40 for Business Pro or $10 for Personal. The self-hosted side assumes Documenso or DocuSeal in Docker Compose: app container, PostgreSQL, object storage, reverse proxy, and a 2 GB memory floor before the per-seat allowance is added.

Migration and sizing sheet

3-Year FinOps Migration & Sizing Sheet

—

Migration and sizing sheet, built from the inputs above
LineValueUnitBasis

Hosting lines are list prices for a mainstream KVM instance at 2 vCPU / 4 GB, rising through 4/8, 4/16, 8/32 and 16/64 as the stack grows; anything past 64 GB is priced as a second host rather than a bigger one. Block storage above the included NVMe is billed at $0.08 per GB per month, which is roughly the market rate for attached SSD plus an object-storage backup copy. Admin labour is your own rate, not a support contract - if nobody on the team can own this, add a managed-hosting line before you sign anything.

What Docusign actually charges for

Three separate meters run at once, and only one of them is on the pricing page in a size you can read.

The seat meter. Every person who sends an envelope needs a licence. Recipients who only sign have never been charged, which is why a 200-counterparty contract renewal costs the same as a 2-counterparty one. The trap is the word "send". A sales engineer who forwards a template to a colleague, a paralegal who re-sends a voided envelope, an ops lead who pushes offer letters from an ATS integration - each of those is a sending seat whether or not that person thinks of themselves as a Docusign user. Teams routinely discover at renewal that the true sending population is 40% larger than the list they budgeted for.

The allowance meter. On annual billing, Standard and Business Pro each include 100 envelopes per user per year, and the allowance is pooled across the whole account. That pooling is generous in one direction and invisible in the other. A 10-seat account gets 1,000 envelopes a year no matter how they are distributed, so a team that sends 40 envelopes a month is comfortably inside it. A team that sends 150 a month is at 1,800 a year - 80% over - and the surplus is billed per envelope. Envelopes that get voided, corrected and re-sent count twice. Envelopes sent through a bulk-send job count once each, which sounds obvious until a 400-recipient policy acknowledgement burns 40% of the annual pool in one afternoon.

The term meter. The published price assumes annual prepayment. Monthly billing is materially higher per seat, and mid-term seat reductions generally take effect at renewal rather than when you ask. That matters for a migration: the cheapest 36 months is not "cancel now", it is "cancel at the renewal boundary", and the calculator's three-year window is the right frame for that decision.

The same comparison across team sizes

The table below holds everything constant except headcount: 150 envelopes per seat per year, $65/hour of internal time, one admin hour a month. Read the third column against the seventh. The vendor bill is a straight line through the origin; the self-hosted bill is nearly flat, because a Compose stack that serves 10 seats serves 100 seats on the same $16-a-month box.

The same 3-year comparison at eight team sizes. Each row assumes 150 envelopes per seat per year - half again the included allowance - so every row carries overage. Hosting and labour columns are the self-hosted side at $65/hour and one admin hour a month; the vendor column is seats at $25 plus $4 per envelope beyond the pooled 100-per-seat allowance. Self-hosting flattens the curve because 36 months of hosting costs less than two months of the vendor bill.
Sending seatsEnvelopes/yrVendor, 3 yrHosting/moEmail/moLabour/moSelf-host, 3 yrNet saving
34504,50081652,6641,836
57507,50081652,6644,836
101,50015,00081652,66412,336
253,75037,500161652,95234,548
507,50075,000161652,95272,048
10015,000150,000562654,428145,572
15022,500225,000562654,428220,572
20030,000300,0001123656,480293,520

Two things in that table are worth arguing with. The labour column does not rise with seats, which is optimistic above roughly 100 sending users - at that point you are doing user provisioning and support, not just patching. And the hosting column steps up at 25 and 100 seats, because the per-seat memory allowance finally crosses a tier boundary. Both are visible in the calculator above, so change the assumptions rather than trusting the defaults.

What the self-hosted stack is made of

Documenso and DocuSeal are both Docker Compose deployments with the same four-part shape, and the shape is what determines the hardware:

On a 2 vCPU / 4 GB instance that stack idles around 1.1 GB and settles near 1.6 GB under a normal day of signing. Below 2 GB of total RAM the app container starts getting reaped during PDF rendering, which shows up as "signing failed" for the recipient and nothing at all in the application log. This is the single most common way a self-hosted e-signature pilot fails, and it is a $4-a-month problem.

Migration fidelity: what survives, line by line

What moves to Documenso / DocuSeal, what needs work, and what should stay with a vendor.
CapabilityStatusWhat actually happens
Send, sign, decline, voidFullMulti-party signing with ordering, reminders and expiry. Nothing lost.
Templates and field placementFullRebuild templates once in the new UI. Fields are re-dragged; layouts do not import from Docusign.
Signed PDF with certificateFullBoth tools append an audit certificate page. Existing Docusign certificates travel inside the PDFs you export.
Audit trail for new envelopesGoodEvent log covers send, view, sign, IP and timestamp. It is your database now, so retention and access control are your job.
Historical envelopesExportPlatform-side identity history stays with the vendor. Export completed envelopes with certificates before cancelling.
Bulk sendPartialBoth expose APIs and webhooks; the batch UI is thinner and usually wants a small script.
Payments inside the envelopeMissingBusiness Pro bundles payment collection at signing. Keep Stripe alongside, or keep the vendor for that flow.
SSO / SAMLEdition-dependentAvailable in the self-hosted enterprise builds. Budget the licence, not just the container.
Qualified signature (eIDAS QES)Not viableRequires a qualified trust service provider. Do not self-host this; it is a legal identity, not software.
FedRAMP / 21 CFR Part 11Not viableThe authorisation belongs to the vendor's environment. Self-hosting moves the obligation onto you.

Backup and restore, in the order that matters

Database first, and test it. A nightly pg_dump compressed and copied off the host is the minimum. The restore drill matters more than the dump: once a quarter, restore into a scratch container, open a signed envelope, confirm the certificate renders. A backup you have never restored is a file, not a backup.

Object storage second. If you run MinIO on the same host, the dump and the PDFs share a failure domain, so a nightly sync to off-host object storage is not redundancy theatre - it is the only thing standing between a dead NVMe and a lost contract archive. Versioning on the bucket is worth the few dollars it costs, because a mistaken delete is far more likely than a disk failure.

Keys and configuration third. The application encryption key, the SMTP credentials and the DNS records that make signing links resolve. Without the key, a restored database is a pile of ciphertext. Keep them in a password manager with a break-glass procedure, not in the same repository as the Compose file.

When you should keep paying

Self-hosting is the cheaper answer for a 10-to-200-seat team that sends a few thousand envelopes a year and has someone who can own a Postgres instance. It is the wrong answer when the requirement is a qualified signature, a FedRAMP authorisation, a validated 21 CFR Part 11 environment, or when there is no engineer on staff and the alternative to a subscription is a system nobody patches. A $25 seat is expensive at 100 seats and cheap compared to an unpatched public signing endpoint.

Independent estimate. SelfHostTCO is a third-party cost tool with no commercial relationship to Docusign Inc., Documenso, DocuSeal or any hosting provider named here. Plan prices, envelope allowances and overage rates change; confirm them on the vendor's own pricing page and in your contract before you budget against them. Hosting prices are list prices for a representative KVM instance and will differ by region, commitment and included egress. Labour estimates are yours to set. Nothing here is legal or compliance advice - signature validity and records retention are jurisdiction-specific questions for your counsel.

Related cost pages

If the document problem is PDF editing rather than signatures, the Acrobat alternative TCO page prices a hybrid stack where only the heavy desktop users keep a licence. If the subscription you are auditing is hosting rather than software, the Vercel vs Coolify calculator runs the same three-year method over bandwidth overage and self-hosted PaaS. The method page explains where every price on this site comes from and how the tables are recomputed before publication.

Frequently asked questions

How many envelopes does a Docusign Standard seat actually include?
100 per user per year on annual billing, pooled across every seat on the account. Ten seats therefore buy 1,000 envelopes a year, and it does not matter which of the ten sends them. Personal is different: it includes 5 envelopes per month, does not pool, and cannot be shared. If your team sends 1,800 a year on 10 Standard seats, 800 of those envelopes sit outside the allowance, and that gap is where the second half of the invoice comes from.
Is Documenso or DocuSeal actually a drop-in replacement?
For send, sign, template, field and audit-trail workflows, yes - both handle multi-party signing, reusable templates, webhooks and an append-only audit log, and both export signed PDFs with a completion certificate. What neither does as of late 2026 is qualified electronic signatures under eIDAS, in-person notarisation, or the payment collection that Business Pro bundles into the signing flow. If you need QES or payments inside the envelope, plan on keeping a vendor for that slice rather than migrating wholesale.
Why does the calculator insist on 2 GB of RAM before per-seat memory?
Because the stack is not one process. A realistic deployment is the application container, PostgreSQL, an S3-compatible object store such as MinIO, and a reverse proxy - four processes with their own runtimes. PostgreSQL alone wants a shared buffer pool and will take whatever you give it. A 1 GB instance will boot, accept one envelope, and then get the app container killed by the OOM reaper during a PDF render. The 2 GB floor plus 25% headroom is the smallest size we would put in front of a real team.
What breaks when we migrate, and what does not?
Templates, fields and folder structure import cleanly between the two open-source tools, and PDFs are PDFs. What does not transfer is the vendor's completion certificate chain: existing signed envelopes stay valid because the certificate travels with the PDF, but the platform-side identity history, the recipient authentication events and the timestamp authority records stay behind. Export every completed envelope with its certificate before you cancel, and keep those exports for your retention period.
At what point does self-hosting stop making sense?
Three cases. First, if admin hours exceed roughly four a month, the labour line overtakes the subscription at small seat counts. Second, if you need FedRAMP, 21 CFR Part 11 or a qualified signature, the compliance work is not a container you can pull. Third, if nobody on the team owns a database - not 'can follow a tutorial', but owns restores and upgrades - then a $25 seat is cheaper than an outage on a contract with a deadline.