Public Access
Two user decisions (2026-11-03). The page is live.
1. The anonymous-contact modal is removed in full, not just its gate: its markup and
comment, the .contact-modal and .dev-anon-btn CSS, the JS (modalEls, openContactModal,
closeContactModal, initContactModal, enhanceContact), the two init-time calls and the
per-card render call. ODOO_EXPERTS_QUOTE_WEBHOOK is deleted — the only readers were the
two gates (initContactModal, enhanceContact) and the postTo inside the modal's own
submit handler; nothing else read it. The modal's lede ("We pass your request on ...")
goes with it, so no relay copy survives. Kept on purpose: the invite relay form and
ODOO_EXPERTS_INVITE_WEBHOOK, the OCA filter + badge, ODOO_EXPERTS_WEBHOOK, and the
card's direct "Email this freelancer" chip.
2. hello@odoo4projects.com is retired site-wide: 24 occurrences (mailto + visible text)
become support@odoo4projects.com, and the 12 support@ODOO4projects.com case variants
are normalised to lower case. oliver@odoo4projects.com is a freelancer's own published
contact address on their card and is left untouched.
Tests run: verify-html.py PROBLEMS 0; check-inline-js.py OK; competitor QC exit 3 with 74
pre-existing hits and 0 added; impeccable detect 1 -> 1 (identical, 0 new).
1038 lines
45 KiB
HTML
1038 lines
45 KiB
HTML
<!doctype html>
|
|
<html lang="en-US">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>Odoo Hosting 2027: Managed Odoo Community, Live in About Five Minutes</title>
|
|
<meta
|
|
name="description"
|
|
content="Odoo hosting in 2027, compared: managed Odoo Community from ODOO4projects against a self-managed VPS, odoo.sh, Odoo Online and your own hardware. One login, one yearly price, no per-user licence."
|
|
/>
|
|
<link rel="canonical" href="https://odoo4projects.com/odoo-hosting-2027.html" />
|
|
<link rel="alternate" hreflang="en-US" href="https://odoo4projects.com/odoo-hosting-2027.html" />
|
|
<link rel="alternate" hreflang="de" href="https://odoo4projects.com/de/odoo-hosting-2027.html" />
|
|
<link rel="alternate" hreflang="es" href="https://odoo4projects.com/es/odoo-hosting-2027.html" />
|
|
<link rel="alternate" hreflang="x-default" href="https://odoo4projects.com/odoo-hosting-2027.html" />
|
|
<meta property="og:title" content="Odoo Hosting 2027: Managed Odoo Community, Live in About Five Minutes" />
|
|
<meta
|
|
property="og:description"
|
|
content="Every route to Odoo side by side, and what it really costs over three to five years. One login, one yearly price, no per-user licence."
|
|
/>
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:url" content="https://odoo4projects.com/odoo-hosting-2027.html" />
|
|
<meta name="twitter:card" content="summary_large_image" />
|
|
<link rel="icon" href="images/favicon.ico" />
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
<link
|
|
rel="stylesheet"
|
|
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap"
|
|
media="print"
|
|
onload="this.media='all'"
|
|
/>
|
|
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
|
<link rel="stylesheet" href="style.css" />
|
|
<style>
|
|
/* ---- Odoo Hosting 2027 landing page (page-scoped; additive) ---- */
|
|
.cmp-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border: 0;
|
|
}
|
|
|
|
/* Top bar (page-scoped: the site has no global header) */
|
|
.cmp-topbar {
|
|
background: var(--midnight-2);
|
|
border-bottom: 1px solid var(--line-brass);
|
|
padding: 0.85rem 0;
|
|
}
|
|
.cmp-topbar .container {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 1rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
.cmp-brand {
|
|
font-family: Marcellus, Georgia, serif;
|
|
font-size: 1.15rem;
|
|
letter-spacing: 0.04em;
|
|
color: #fff;
|
|
}
|
|
.cmp-brand span {
|
|
color: var(--brass);
|
|
}
|
|
.cmp-topbar-links {
|
|
display: flex;
|
|
gap: 1.25rem;
|
|
font-size: 0.82rem;
|
|
}
|
|
.cmp-topbar-links a {
|
|
color: rgba(255, 255, 255, 0.7);
|
|
}
|
|
.cmp-topbar-links a:hover {
|
|
color: var(--brass);
|
|
}
|
|
|
|
/* Language selector — slides into the top-bar row, right of the links, behind a hairline brass
|
|
divider. CI §1/§2: brass marks the active language; lang.js owns the markup. */
|
|
.cmp-topbar-links {
|
|
margin-left: auto;
|
|
}
|
|
.cmp-topbar .lang-switch-slot {
|
|
display: flex;
|
|
align-items: center;
|
|
padding-left: 1rem;
|
|
border-left: 1px solid rgba(201, 162, 39, 0.45);
|
|
}
|
|
.cmp-topbar .lang-switch {
|
|
color: rgba(255, 255, 255, 0.7);
|
|
}
|
|
.cmp-topbar .lang-switch a:hover,
|
|
.cmp-topbar .lang-switch a:focus-visible {
|
|
color: var(--brass-bright);
|
|
}
|
|
.cmp-topbar .lang-switch a[aria-current="true"] {
|
|
color: var(--brass);
|
|
text-decoration: underline;
|
|
text-underline-offset: 3px;
|
|
}
|
|
|
|
/* Hero */
|
|
.cmp-hero {
|
|
min-height: 0;
|
|
padding: 3.5rem 0 3rem;
|
|
}
|
|
.cmp-hero h1 span {
|
|
color: var(--brass);
|
|
}
|
|
.cmp-hero .hero-sub {
|
|
max-width: 620px;
|
|
}
|
|
|
|
.cmp-lead {
|
|
font-size: 1.1rem;
|
|
color: var(--ink-soft);
|
|
max-width: 720px;
|
|
line-height: 1.75;
|
|
margin: 0 auto 1.5rem;
|
|
}
|
|
.section-light .section-title,
|
|
.section-light .section-kicker {
|
|
text-align: center;
|
|
}
|
|
|
|
/* Comparison tables (reuse .oca-table on dark sections) */
|
|
.cmp-table-wrap {
|
|
overflow-x: auto;
|
|
-webkit-overflow-scrolling: touch;
|
|
border-radius: var(--radius-lg);
|
|
border: 1px solid var(--line-brass);
|
|
background: rgba(255, 255, 255, 0.03);
|
|
}
|
|
.cmp-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
min-width: 860px;
|
|
}
|
|
.cmp-table th,
|
|
.cmp-table td {
|
|
padding: 0.7rem 0.9rem;
|
|
font-size: 0.85rem;
|
|
text-align: left;
|
|
vertical-align: top;
|
|
border-bottom: 1px solid rgba(201, 162, 39, 0.1);
|
|
}
|
|
.cmp-table thead th {
|
|
font-family: Marcellus, Georgia, serif;
|
|
font-size: 0.82rem;
|
|
letter-spacing: 0.05em;
|
|
text-transform: uppercase;
|
|
color: var(--brass);
|
|
background: rgba(13, 27, 46, 0.55);
|
|
border-bottom: 1px solid var(--line-brass);
|
|
white-space: normal;
|
|
line-height: 1.3;
|
|
}
|
|
.cmp-table tbody th {
|
|
font-family: Inter, sans-serif;
|
|
font-weight: 600;
|
|
font-size: 0.82rem;
|
|
color: #fff;
|
|
background: rgba(255, 255, 255, 0.02);
|
|
}
|
|
.cmp-table td {
|
|
color: rgba(255, 255, 255, 0.78);
|
|
line-height: 1.5;
|
|
}
|
|
.cmp-table tbody tr:hover td,
|
|
.cmp-table tbody tr:hover th {
|
|
background: rgba(201, 162, 39, 0.06);
|
|
}
|
|
.cmp-table tbody tr:last-child th,
|
|
.cmp-table tbody tr:last-child td {
|
|
border-bottom: none;
|
|
}
|
|
.cmp-table .is-us {
|
|
background: rgba(201, 162, 39, 0.09);
|
|
}
|
|
.cmp-table thead th.is-us {
|
|
color: var(--brass-bright);
|
|
background: rgba(201, 162, 39, 0.14);
|
|
}
|
|
.cmp-table .is-us strong {
|
|
color: #fff;
|
|
}
|
|
.cmp-flag {
|
|
display: inline-block;
|
|
font-family: Inter, sans-serif;
|
|
font-size: 0.69rem;
|
|
font-weight: 700;
|
|
letter-spacing: 0.06em;
|
|
text-transform: uppercase;
|
|
color: var(--midnight);
|
|
background: var(--brass);
|
|
border-radius: var(--radius-pill);
|
|
padding: 0.1rem 0.5rem;
|
|
margin-left: 0.35rem;
|
|
vertical-align: middle;
|
|
}
|
|
.cmp-not-us {
|
|
display: inline-block;
|
|
font-family: Inter, sans-serif;
|
|
font-size: 0.69rem;
|
|
font-weight: 700;
|
|
letter-spacing: 0.06em;
|
|
text-transform: uppercase;
|
|
color: #ffd9d9;
|
|
background: rgba(190, 40, 40, 0.35);
|
|
border: 1px solid rgba(255, 120, 120, 0.45);
|
|
border-radius: var(--radius-pill);
|
|
padding: 0.1rem 0.5rem;
|
|
margin-left: 0.35rem;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
/* Notes under the tables */
|
|
.cmp-notes {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 1rem;
|
|
margin-top: 1.75rem;
|
|
}
|
|
.cmp-note {
|
|
background: rgba(255, 255, 255, 0.04);
|
|
border: 1px solid var(--line-brass);
|
|
border-radius: var(--radius-lg);
|
|
padding: 1.15rem 1.25rem;
|
|
}
|
|
.cmp-note h3 {
|
|
font-size: 1rem;
|
|
color: #fff;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
.cmp-note p {
|
|
font-size: 0.84rem;
|
|
color: rgba(255, 255, 255, 0.72);
|
|
line-height: 1.65;
|
|
margin-bottom: 0.7rem;
|
|
}
|
|
.cmp-note p:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.cmp-note a {
|
|
color: var(--brass-bright);
|
|
}
|
|
@media (max-width: 992px) {
|
|
.cmp-notes {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
|
|
/* Cost infographic */
|
|
.cmp-figure {
|
|
margin: 2rem auto 0;
|
|
max-width: 780px;
|
|
}
|
|
.cmp-figure svg {
|
|
width: 100%;
|
|
height: auto;
|
|
display: block;
|
|
}
|
|
.cmp-figure figcaption {
|
|
margin-top: 0.75rem;
|
|
font-size: 0.78rem;
|
|
color: var(--ink-faint);
|
|
text-align: center;
|
|
}
|
|
.cmp-bar-label {
|
|
font-family: Inter, sans-serif;
|
|
font-size: 13px;
|
|
fill: var(--ink);
|
|
}
|
|
.cmp-bar-label.is-us {
|
|
font-weight: 700;
|
|
}
|
|
.cmp-bar-value {
|
|
font-family: Inter, sans-serif;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
fill: var(--midnight);
|
|
}
|
|
.cmp-bar {
|
|
transform-box: fill-box;
|
|
transform-origin: left center;
|
|
}
|
|
@media (prefers-reduced-motion: no-preference) {
|
|
.cmp-bar {
|
|
animation: cmpGrow 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
|
|
}
|
|
.cmp-bar:nth-of-type(2) {
|
|
animation-delay: 0.1s;
|
|
}
|
|
.cmp-bar:nth-of-type(3) {
|
|
animation-delay: 0.2s;
|
|
}
|
|
}
|
|
@keyframes cmpGrow {
|
|
from {
|
|
transform: scaleX(0);
|
|
}
|
|
to {
|
|
transform: scaleX(1);
|
|
}
|
|
}
|
|
|
|
/* Cost table extras */
|
|
.cmp-cost-note {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 1.5rem auto 0;
|
|
max-width: 900px;
|
|
}
|
|
.cmp-cost-note li {
|
|
position: relative;
|
|
padding-left: 1.4rem;
|
|
margin-bottom: 0.6rem;
|
|
font-size: 0.85rem;
|
|
color: rgba(255, 255, 255, 0.75);
|
|
line-height: 1.6;
|
|
}
|
|
.cmp-cost-note li::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: 0.25rem;
|
|
top: 0.5rem;
|
|
width: 6px;
|
|
height: 6px;
|
|
border-radius: 50%;
|
|
background: var(--brass);
|
|
}
|
|
.cmp-cost-note strong {
|
|
color: #fff;
|
|
}
|
|
|
|
/* FAQ (native details/summary — no JS) */
|
|
.cmp-faq-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 1rem;
|
|
max-width: 1000px;
|
|
margin: 0 auto;
|
|
}
|
|
.cmp-faq {
|
|
background: var(--ivory);
|
|
border: 1px solid var(--line);
|
|
border-radius: var(--radius-lg);
|
|
padding: 0.4rem 1.25rem;
|
|
box-shadow: var(--shadow-rest);
|
|
transition: box-shadow 0.25s;
|
|
}
|
|
.cmp-faq[open] {
|
|
box-shadow: var(--shadow-hover);
|
|
}
|
|
.cmp-faq:hover {
|
|
box-shadow: var(--shadow-hover);
|
|
}
|
|
.cmp-faq summary {
|
|
cursor: pointer;
|
|
list-style: none;
|
|
padding: 0.85rem 0;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
font-family: Marcellus, Georgia, serif;
|
|
font-size: 0.98rem;
|
|
color: var(--midnight);
|
|
}
|
|
.cmp-faq summary::-webkit-details-marker {
|
|
display: none;
|
|
}
|
|
.cmp-faq summary::after {
|
|
content: "+";
|
|
font-family: Inter, sans-serif;
|
|
color: var(--brass);
|
|
font-size: 1.15rem;
|
|
line-height: 1;
|
|
flex-shrink: 0;
|
|
transition: transform 0.25s;
|
|
}
|
|
.cmp-faq[open] summary::after {
|
|
content: "\2212";
|
|
}
|
|
.cmp-faq summary:focus-visible {
|
|
outline: 2px solid var(--brass);
|
|
outline-offset: 3px;
|
|
border-radius: var(--radius);
|
|
}
|
|
.cmp-faq .cmp-a {
|
|
font-size: 0.87rem;
|
|
color: var(--ink-soft);
|
|
line-height: 1.7;
|
|
padding-bottom: 1rem;
|
|
}
|
|
.cmp-faq .cmp-a p:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.cmp-faq-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
|
|
/* Final CTA band */
|
|
.cmp-cta {
|
|
text-align: center;
|
|
}
|
|
.cmp-cta .cmp-lead {
|
|
color: rgba(255, 255, 255, 0.72);
|
|
}
|
|
.cmp-cta-actions {
|
|
display: flex;
|
|
gap: 1rem;
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
margin-top: 0.5rem;
|
|
}
|
|
.cmp-cta p.cmp-cta-answers {
|
|
font-size: 0.8rem;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
margin-top: 1.25rem;
|
|
}
|
|
|
|
/* Focus states on every CTA */
|
|
.btn:focus-visible,
|
|
.cmp-topbar-links a:focus-visible,
|
|
.cmp-note a:focus-visible {
|
|
outline: 3px solid var(--brass-bright);
|
|
outline-offset: 2px;
|
|
border-radius: var(--radius);
|
|
}
|
|
.btn-brass:focus-visible {
|
|
outline-color: #fff;
|
|
}
|
|
</style>
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@graph": [
|
|
{
|
|
"@type": "Organization",
|
|
"@id": "https://odoo4projects.com/#organization",
|
|
"name": "ODOO4projects",
|
|
"url": "https://odoo4projects.com/",
|
|
"foundingDate": "2020",
|
|
"sameAs": ["https://www.linkedin.com/company/odoo4projects/"],
|
|
"contactPoint": {
|
|
"@type": "ContactPoint",
|
|
"contactType": "customer support",
|
|
"url": "https://odoo4projects.com/support.html#contact"
|
|
}
|
|
},
|
|
{
|
|
"@type": "WebPage",
|
|
"@id": "https://odoo4projects.com/odoo-hosting-2027.html",
|
|
"url": "https://odoo4projects.com/odoo-hosting-2027.html",
|
|
"name": "Odoo Hosting 2027: Managed Odoo Community, Live in About Five Minutes",
|
|
"description": "A comparison of every route to Odoo in 2027: managed Odoo Community, a self-managed VPS, odoo.sh, Odoo Online and your own hardware.",
|
|
"isPartOf": { "@id": "https://odoo4projects.com/#organization" },
|
|
"about": [
|
|
{ "@type": "Thing", "name": "Odoo hosting" },
|
|
{ "@type": "Thing", "name": "managed Odoo Community hosting" }
|
|
]
|
|
},
|
|
{
|
|
"@type": "BreadcrumbList",
|
|
"itemListElement": [
|
|
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://odoo4projects.com/" },
|
|
{ "@type": "ListItem", "position": 2, "name": "Odoo Hosting 2027", "item": "https://odoo4projects.com/odoo-hosting-2027.html" }
|
|
]
|
|
},
|
|
{
|
|
"@type": "Product",
|
|
"name": "Managed Odoo Community hosting",
|
|
"description": "Managed Odoo Community hosting: the server, backups and SSL certificate are run for you and your Odoo is kept current within its version, on one yearly price with no per-user licence on Odoo Community. Moving to a new major version is a migration and is quoted separately.",
|
|
"brand": { "@id": "https://odoo4projects.com/#organization" },
|
|
"offers": [
|
|
{
|
|
"@type": "Offer",
|
|
"name": "Side Hustle",
|
|
"price": "214.00",
|
|
"priceCurrency": "USD",
|
|
"url": "https://odoo4projects.com/#pricing"
|
|
},
|
|
{
|
|
"@type": "Offer",
|
|
"name": "On the Rise",
|
|
"price": "395.00",
|
|
"priceCurrency": "USD",
|
|
"url": "https://odoo4projects.com/#pricing"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"@type": "FAQPage",
|
|
"mainEntity": [
|
|
{
|
|
"@type": "Question",
|
|
"name": "What does \"five minutes\" actually mean?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "Five minutes is the time to a running instance, not to a finished system. Putting your own customers, products and stock in is the first week's work, and it is the same week on any of the routes above."
|
|
}
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "Do you support Odoo Online?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "No. Odoo Online runs Odoo's standard apps only and is incompatible with custom modules or modules from the Odoo Apps Store, so you cannot add an app that is not on Odoo's list. Upgrades are automatic and mandatory on Odoo's schedule. If Odoo's standard apps cover everything you will ever need, Odoo Online is the cheaper and simpler answer and we are not the right choice."
|
|
}
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "Can I add my own apps or OCA modules?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "Odoo's own apps are all there on every plan. Custom and OCA modules install from On the Rise up, by Git or one click. Side Hustle has no module installation."
|
|
}
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "Do I need an AI assistant to use ODOO4projects?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "No. We ship our MCP server directly in the apps, so an AI assistant such as Claude Code or Hermes can restart the server, upload a module, add a domain or read the log for you, and you never open a hosting panel. It is optional: the business works exactly the same without it."
|
|
}
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "Can we move to Odoo Enterprise later?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "Yes. Bring your own Odoo Enterprise licence and keep the same instance. No migration."
|
|
}
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "Is there a per-user licence?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "No. Odoo Community has no per-user licence; our plans are one flat yearly price. Odoo Enterprise, if you bring it, is licensed per user by Odoo S.A."
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
</script>
|
|
<!-- Privacy-friendly analytics by Plausible -->
|
|
<script async src="https://plausible.office.odoo4projects.com/js/pa-NhA7Rf-79VopXFQXhSS4e.js"></script>
|
|
<script>
|
|
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
|
plausible.init()
|
|
</script>
|
|
<script defer src="/static/lang.js"></script>
|
|
</head>
|
|
<body>
|
|
<!-- Page-scoped top bar: the site has no global header, so the page carries its own way home. -->
|
|
<div class="cmp-topbar">
|
|
<div class="container">
|
|
<a class="cmp-brand" href="index.html">ODOO4<span>projects</span></a>
|
|
<nav class="cmp-topbar-links" aria-label="Page links">
|
|
<a href="index.html#pricing">Plans & pricing</a>
|
|
<a href="support.html">Support</a>
|
|
</nav>
|
|
<div data-lang-switcher class="lang-switch-slot"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Hero -->
|
|
<main>
|
|
<section class="hero cmp-hero">
|
|
<div class="container">
|
|
<p class="hero-kicker">Managed Odoo Community Hosting</p>
|
|
<h1>Odoo Hosting 2027: Managed Odoo Community, <span>Live in About Five Minutes</span></h1>
|
|
<p class="hero-sub">
|
|
A managed Odoo Community instance: your stock, orders, invoices and customers in one system. We
|
|
run the server, the backups, the certificate and the updates within your Odoo version. You put
|
|
your own data in and get on with the business.
|
|
</p>
|
|
<div class="hero-stats">
|
|
<span class="hero-stat"><i aria-hidden="true">✓</i> About 5 minutes to a live instance</span>
|
|
<span class="hero-stat"><i aria-hidden="true">✓</i> One login, one place to work</span>
|
|
<span class="hero-stat"><i aria-hidden="true">✓</i> No per-user licence</span>
|
|
<span class="hero-stat"><i aria-hidden="true">✓</i> One yearly price</span>
|
|
</div>
|
|
<div class="hero-actions">
|
|
<a href="index.html#trialCard" class="btn btn-brass btn-lg">Start the free trial</a>
|
|
<a href="index.html#pricing" class="btn btn-outline btn-lg">See plans and pricing</a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Mission -->
|
|
<section class="section-light">
|
|
<div class="container">
|
|
<p class="section-kicker">Why we exist</p>
|
|
<h2 class="section-title">We don't sell Odoo. We sell a business that runs.</h2>
|
|
<p class="cmp-lead">
|
|
You should not have to become the IT department to find out what is in your stock. A business
|
|
system is something you subscribe to, not a project you build. The server, the patches, the
|
|
backups, the certificate, the updates within your Odoo version: those are our job, permanently,
|
|
and not an evening you hand back to the company. Moving the database to a new major version is a
|
|
migration we quote for separately.
|
|
</p>
|
|
<p class="cmp-lead">
|
|
So we put your stock, your orders, your invoices and who owes you money in one place, and we keep
|
|
the machine underneath it alive. That is the whole offer.
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Feature comparison -->
|
|
<section class="section-dark" id="comparison">
|
|
<div class="container">
|
|
<p class="section-kicker">Every route to Odoo</p>
|
|
<h2 class="section-title">Side by side, and what each one asks of you</h2>
|
|
<div class="cmp-table-wrap">
|
|
<table class="cmp-table">
|
|
<caption class="cmp-sr-only">
|
|
Feature comparison of ODOO4projects managed hosting against a self-managed VPS, odoo.sh, Odoo
|
|
Online and your own hardware.
|
|
</caption>
|
|
<thead>
|
|
<tr>
|
|
<th scope="col">Comparison</th>
|
|
<th scope="col" class="is-us">ODOO4projects</th>
|
|
<th scope="col">Self-managed VPS</th>
|
|
<th scope="col">odoo.sh</th>
|
|
<th scope="col">Odoo Online</th>
|
|
<th scope="col">Own hardware</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<th scope="row">What you get</th>
|
|
<td class="is-us"><strong>Odoo Community, hosted and managed.</strong> Stock, orders, invoices, customers and accounting in one system.</td>
|
|
<td>Odoo Community on a server you rent, install and run yourself.</td>
|
|
<td>Odoo Enterprise on Odoo S.A.'s platform, built for a Git and developer workflow.</td>
|
|
<td>Odoo's standard apps only, hosted by Odoo. <span class="cmp-not-us">Not supported by us</span></td>
|
|
<td>Odoo on a machine you own, in your building.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Who runs the server and patches it</th>
|
|
<td class="is-us">We do.</td>
|
|
<td>You. You install it, patch it and fix it.</td>
|
|
<td>Odoo S.A. runs the servers; you still need a developer for the code side.</td>
|
|
<td>Odoo S.A.</td>
|
|
<td>You. Or our Empire plan runs our service on your server.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Time to a live instance</th>
|
|
<td class="is-us">About five minutes: pick a plan and a region and the instance is live.</td>
|
|
<td>You install it first, before it is a system.</td>
|
|
<td>You connect GitHub, then deploy by pushing a branch.</td>
|
|
<td>Sign up and use it. Nothing to install.</td>
|
|
<td>You install it on your own machine.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Backups, SSL certificate, domain</th>
|
|
<td class="is-us">Run for you on every plan. No schedule for you to set.</td>
|
|
<td>Yours: database dump, certificate, DNS record.</td>
|
|
<td>Odoo runs the backups and handles DNS on the platform.</td>
|
|
<td>Odoo runs the backups and handles the domain.</td>
|
|
<td>Yours: dump, certificate, DNS and the machine itself.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Where you manage it</th>
|
|
<td class="is-us">Inside your Odoo instance. One login, one place to work.</td>
|
|
<td>A hosting panel, a terminal and Odoo.</td>
|
|
<td>The odoo.sh dashboard, GitHub and Odoo.</td>
|
|
<td>Odoo and Odoo's control centre.</td>
|
|
<td>Wherever you install it.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">AI assistant control (Claude Code, Hermes)</th>
|
|
<td class="is-us">Included. Our MCP server ships in the apps.</td>
|
|
<td>You build it yourself.</td>
|
|
<td>Not provided by us.</td>
|
|
<td>Not supported by us.</td>
|
|
<td>Through our service on your server.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Adding your own apps</th>
|
|
<td class="is-us">Odoo's own apps are all there on every plan. Custom and OCA modules install from On the Rise up, by Git or one click. Side Hustle has no module installation.</td>
|
|
<td>Yes, if you can run the install.</td>
|
|
<td>Yes, through Git, with a developer.</td>
|
|
<td>No. You cannot add any app that is not on Odoo's list, not even the free ones.</td>
|
|
<td>Yes, if you can run the install.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Price model</th>
|
|
<td class="is-us">One flat yearly price. No per-user licence on Community.</td>
|
|
<td>Server rental only, plus your hours.</td>
|
|
<td>Per-user Odoo licence plus hosting, billed separately.</td>
|
|
<td>Per user, per month, all in.</td>
|
|
<td>You buy the machine and pay for everything it needs.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Version upgrades</th>
|
|
<td class="is-us">Updates and in-version upgrades are included. A move to a new major version is a migration, quoted separately.</td>
|
|
<td>You do it, after taking a full backup.</td>
|
|
<td>Push to the branch; if a module update fails, Odoo reverts the server and rolls the database back.</td>
|
|
<td>Automatic and mandatory on Odoo's schedule.</td>
|
|
<td>You do it.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Growth to Enterprise</th>
|
|
<td class="is-us">Bring your own Odoo Enterprise licence and keep the same instance. No migration.</td>
|
|
<td>Supported: Community to Enterprise on the same server.</td>
|
|
<td>An Odoo Enterprise licence is required to be on odoo.sh at all.</td>
|
|
<td>It is Enterprise software already.</td>
|
|
<td>Supported on the same server.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="cmp-notes">
|
|
<div class="cmp-note">
|
|
<h3>Five minutes, honestly</h3>
|
|
<p>
|
|
Five minutes is the time to a running instance, not to a finished system. Putting your own
|
|
customers, products and stock in is the first week's work, and it is the same week on any of
|
|
the routes above.
|
|
</p>
|
|
</div>
|
|
<div class="cmp-note">
|
|
<h3>About Odoo Online, and why we don't support it</h3>
|
|
<p>
|
|
Odoo Online runs Odoo's standard apps only. Odoo's own documentation states it is
|
|
<em>"incompatible with custom modules or modules from the Odoo Apps Store"</em>, so you cannot
|
|
add an app that is not on Odoo's list. Upgrades are automatic and mandatory on Odoo's
|
|
schedule, whether the timing suits your quarter or not. You can download your data from Odoo
|
|
Online; what you cannot take with you is the system you built on top of it.
|
|
</p>
|
|
<p>
|
|
The honest part: if Odoo's standard apps cover everything you will ever need, Odoo Online is
|
|
the cheaper and simpler answer and we are not the right choice. We are for the business that
|
|
will need an app Odoo does not have, or that wants to keep running the version it uses today.
|
|
</p>
|
|
</div>
|
|
<div class="cmp-note">
|
|
<h3>Claude Code and Hermes</h3>
|
|
<p>
|
|
We ship our MCP server directly in the apps. If you use an AI assistant, it can restart the
|
|
server, upload a module, add a domain or read the log for you, and you never open a hosting
|
|
panel. It is optional. The business works exactly the same without it.
|
|
</p>
|
|
</div>
|
|
<div class="cmp-note">
|
|
<h3>Do you need staging?</h3>
|
|
<p>
|
|
A staging environment is a second copy of your system you are allowed to break. It is the right
|
|
tool when you change Odoo's code, and overkill when you install a finished module on a backup.
|
|
We wrote out <a href="/odoo-staging-environment/">do you need a staging environment?</a>, and the
|
|
simpler route we recommend first.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Cost over time -->
|
|
<section class="section-light" id="lifetime-cost">
|
|
<div class="container">
|
|
<p class="section-kicker">The bill behind the bill</p>
|
|
<h2 class="section-title">What the price really is over three to five years</h2>
|
|
<p class="cmp-lead">
|
|
Over three to five years, the monthly figure is the small half of the bill. A rented server costs
|
|
about $102 a year (OVH VPS-2, VAT excluded). What is not in that number is the person who installs
|
|
Odoo, patches the operating system, watches the certificate, takes the backups and runs the
|
|
version upgrade.
|
|
</p>
|
|
<p class="cmp-lead">
|
|
Odoo's own documentation says updating is <em>"most appropriately accomplished by the person who
|
|
deployed Odoo initially"</em>. OVH's own FAQ says a VPS <em>"requires basic knowledge of server
|
|
administration"</em>. On a VPS, that person is you or someone you pay, and neither line appears on
|
|
the invoice.
|
|
</p>
|
|
<p class="cmp-lead">
|
|
Our price is one number, once a year, and it covers that work: the server, the certificate, the
|
|
backups, the upgrade ticket and support when something breaks. Over five years, $214 a year is
|
|
$1,070. That is the whole cost of the hosting, not the deposit on it.
|
|
</p>
|
|
|
|
<figure class="cmp-figure">
|
|
<svg viewBox="0 0 760 260" role="img" aria-labelledby="cmpChartTitle cmpChartDesc" preserveAspectRatio="xMidYMid meet">
|
|
<title id="cmpChartTitle">Five-year total cost at list price: ODOO4projects Side Hustle $1,070, Odoo Online $23,340, odoo.sh $49,188</title>
|
|
<desc id="cmpChartDesc">Horizontal bar chart comparing five-year list-price totals. ODOO4projects Side Hustle is $1,070 and is by far the shortest bar. Odoo Online is $23,340 and odoo.sh is $49,188. The Odoo Online and odoo.sh totals do not include your own time.</desc>
|
|
|
|
<!-- baseline -->
|
|
<line x1="196" y1="20" x2="196" y2="230" stroke="rgba(23,28,38,0.18)" stroke-width="1" />
|
|
|
|
<!-- Side Hustle (ours) -->
|
|
<text class="cmp-bar-label is-us" x="0" y="60">ODOO4projects</text>
|
|
<text class="cmp-bar-label is-us" x="0" y="76" fill="rgba(23,28,38,0.55)">Side Hustle</text>
|
|
<rect class="cmp-bar" x="196" y="40" width="22" height="34" rx="3" fill="#c9a227" />
|
|
<text class="cmp-bar-value" x="228" y="62">$1,070</text>
|
|
|
|
<!-- Odoo Online -->
|
|
<text class="cmp-bar-label" x="0" y="130">Odoo Online</text>
|
|
<text class="cmp-bar-label" x="0" y="146" fill="rgba(23,28,38,0.55)">(not supported by us)</text>
|
|
<rect class="cmp-bar" x="196" y="110" width="240" height="34" rx="3" fill="#8ea0b8" />
|
|
<text class="cmp-bar-value" x="446" y="132">$23,340</text>
|
|
|
|
<!-- odoo.sh -->
|
|
<text class="cmp-bar-label" x="0" y="200">odoo.sh</text>
|
|
<text class="cmp-bar-label" x="0" y="216" fill="rgba(23,28,38,0.55)">+ Enterprise licence</text>
|
|
<rect class="cmp-bar" x="196" y="180" width="506" height="34" rx="3" fill="#4d5f79" />
|
|
<text class="cmp-bar-value" x="712" y="202">$49,188</text>
|
|
|
|
<!-- scale ticks -->
|
|
<g stroke="rgba(23,28,38,0.15)" stroke-width="1">
|
|
<line x1="322" y1="20" x2="322" y2="230" />
|
|
<line x1="448" y1="20" x2="448" y2="230" />
|
|
<line x1="574" y1="20" x2="574" y2="230" />
|
|
</g>
|
|
</svg>
|
|
<figcaption>
|
|
Five-year totals at list price. Odoo Online and odoo.sh do not include your own time; ours
|
|
carries no per-user licence.
|
|
</figcaption>
|
|
</figure>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Cost comparison -->
|
|
<section class="section-dark" id="cost">
|
|
<div class="container">
|
|
<p class="section-kicker">The same table for everyone</p>
|
|
<h2 class="section-title">What a ten-user business pays in a year</h2>
|
|
<p class="cmp-lead" style="color: rgba(255, 255, 255, 0.72)">
|
|
Our own price is in the same table as everyone else's.
|
|
</p>
|
|
<div class="cmp-table-wrap">
|
|
<table class="cmp-table">
|
|
<caption class="cmp-sr-only">
|
|
Annual cost for a ten-user business by route, with what each figure covers.
|
|
</caption>
|
|
<thead>
|
|
<tr>
|
|
<th scope="col">Route</th>
|
|
<th scope="col">Per year (10 users)</th>
|
|
<th scope="col">What the number covers</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<th scope="row" class="is-us">ODOO4projects — Side Hustle</th>
|
|
<td class="is-us"><strong>$214</strong></td>
|
|
<td class="is-us">Managed Odoo Community hosting: server, backups, SSL, support. No per-user licence. No module installation on this plan.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" class="is-us">ODOO4projects — On the Rise</th>
|
|
<td class="is-us"><strong>$395</strong></td>
|
|
<td class="is-us">The same, plus Git and one-click module installs.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" class="is-us">ODOO4projects — Powerhouse</th>
|
|
<td class="is-us"><strong>$595</strong></td>
|
|
<td class="is-us">All of On the Rise, plus Odoo Enterprise readiness and two workers. No per-user licence.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Self-managed VPS</th>
|
|
<td><strong>about $102</strong></td>
|
|
<td>A rented OVH VPS-2 (4 vCores, 8 GB), VAT excluded. Odoo Community itself is free. Does not include any of the administration.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">odoo.sh</th>
|
|
<td><strong>$9,837.60 at list price</strong> ($8,013.60 in year one)</td>
|
|
<td>$693.60 hosting plus the Odoo Enterprise Custom licence at $76.20 per user per month at list ($61.00 in year one).</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Odoo Online <span class="cmp-not-us">Not supported by us</span></th>
|
|
<td><strong>$4,668 at list price</strong> ($3,732 in year one)</td>
|
|
<td>Odoo Standard at $38.90 per user per month at list ($31.10 in year one). Odoo's apps, hosting and support included.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Own hardware</th>
|
|
<td><strong>no verified total</strong></td>
|
|
<td>A comparable single-tenant rented machine is €708 a year (Hetzner AX41, VAT excluded). The purchase price of a server, and its power, network and IT labour, are not verified, so we do not print a figure.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<ul class="cmp-cost-note">
|
|
<li>
|
|
Prices are list prices captured on 21 October 2026, in US dollars unless stated, VAT excluded.
|
|
Vendors change prices. We will re-check every number before this page goes up for 2027.
|
|
</li>
|
|
<li>
|
|
Odoo's $31.10 and $61.00 rates are twelve-month introductory discounts. The list rates are
|
|
$38.90 and $76.20. Both are shown, because a reader in 2027 may be past the discount.
|
|
</li>
|
|
<li>The per-user prices are for a ten-user company. Ours carries no per-user licence, because Odoo Community has none.</li>
|
|
<li>
|
|
<strong>Odoo Online is cheaper than us for a business that only needs Odoo's standard apps.</strong>
|
|
If that is you, it is the right answer and we are not.
|
|
</li>
|
|
<li>
|
|
Five-year totals at list: Side Hustle $1,070, Odoo Online $23,340, odoo.sh $49,188. The last two
|
|
do not include your time, and ours carries no per-user licence.
|
|
</li>
|
|
<li>Our Empire plan is quoted on the plans page.</li>
|
|
<li>
|
|
Prices are from the vendors' own published pages (odoo.com/pricing, odoo.sh/pricing,
|
|
ovhcloud.com, hetzner.com), so you can check every figure here yourself.
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- FAQ -->
|
|
<section class="section-light" id="faq">
|
|
<div class="container">
|
|
<p class="section-kicker">Straight answers</p>
|
|
<h2 class="section-title">Questions the table raises</h2>
|
|
<div class="cmp-faq-grid">
|
|
<details class="cmp-faq">
|
|
<summary class="plausible-event-name=FAQ">What does "five minutes" actually mean?</summary>
|
|
<div class="cmp-a">
|
|
<p>Five minutes is the time to a running instance, not to a finished system. Putting your own customers, products and stock in is the first week's work, and it is the same week on any of the routes above.</p>
|
|
</div>
|
|
</details>
|
|
<details class="cmp-faq">
|
|
<summary class="plausible-event-name=FAQ">Do you support Odoo Online?</summary>
|
|
<div class="cmp-a">
|
|
<p>No. Odoo Online runs Odoo's standard apps only and is incompatible with custom modules or modules from the Odoo Apps Store, so you cannot add an app that is not on Odoo's list. Upgrades are automatic and mandatory on Odoo's schedule. If Odoo's standard apps cover everything you will ever need, Odoo Online is the cheaper and simpler answer and we are not the right choice.</p>
|
|
</div>
|
|
</details>
|
|
<details class="cmp-faq">
|
|
<summary class="plausible-event-name=FAQ">Can I add my own apps or OCA modules?</summary>
|
|
<div class="cmp-a">
|
|
<p>Odoo's own apps are all there on every plan. Custom and OCA modules install from On the Rise up, by Git or one click. Side Hustle has no module installation.</p>
|
|
</div>
|
|
</details>
|
|
<details class="cmp-faq">
|
|
<summary class="plausible-event-name=FAQ">Do I need an AI assistant to use ODOO4projects?</summary>
|
|
<div class="cmp-a">
|
|
<p>No. We ship our MCP server directly in the apps, so an AI assistant such as Claude Code or Hermes can restart the server, upload a module, add a domain or read the log for you, and you never open a hosting panel. It is optional: the business works exactly the same without it.</p>
|
|
</div>
|
|
</details>
|
|
<details class="cmp-faq">
|
|
<summary class="plausible-event-name=FAQ">Can we move to Odoo Enterprise later?</summary>
|
|
<div class="cmp-a">
|
|
<p>Yes. Bring your own Odoo Enterprise licence and keep the same instance. No migration.</p>
|
|
</div>
|
|
</details>
|
|
<details class="cmp-faq">
|
|
<summary class="plausible-event-name=FAQ">Is there a per-user licence?</summary>
|
|
<div class="cmp-a">
|
|
<p>No. <a href="blog/posts/community-vs-enterprise-cost.html">Odoo Community has no per-user licence</a>; our plans are one flat yearly price. Odoo Enterprise, if you bring it, is licensed per user by Odoo S.A.</p>
|
|
</div>
|
|
</details>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Final CTA -->
|
|
<section class="section-dark cmp-cta" id="start">
|
|
<div class="container">
|
|
<p class="section-kicker">One login. One yearly price.</p>
|
|
<h2 class="section-title">Your business in one system, on a server you never think about</h2>
|
|
<p class="cmp-lead">
|
|
Your stock, your orders, your invoices and who owes you money in one system, on a server you never
|
|
have to think about. One login. One yearly price. No per-user licence.
|
|
</p>
|
|
<div class="cmp-cta-actions">
|
|
<a href="index.html#trialCard" class="btn btn-brass btn-lg">Start the free trial</a>
|
|
<a href="index.html#pricing" class="btn btn-outline btn-lg">See plans and pricing</a>
|
|
</div>
|
|
<p class="cmp-cta-answers">
|
|
Prices on this page were captured on 21 October 2026 and are re-checked before 2027.
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Footer (copied from index.html; icon-font glyphs replaced with inline SVG so the page
|
|
carries no external icon dependency) -->
|
|
</main>
|
|
<footer class="footer">
|
|
<div class="container">
|
|
<div class="fgrid">
|
|
<div>
|
|
<h4>Useful Links</h4>
|
|
<ul>
|
|
<li><a href="/odoo-erp-automation-bootcamp/">ODOO Bootcamp</a></li>
|
|
<li><a href="odoo-hosting-2027.html">ODOO Hosting in 2027</a></li>
|
|
<li><a href="support.html">Support</a></li>
|
|
<li><a href="legal.html">Legal</a></li>
|
|
</ul>
|
|
</div>
|
|
<div>
|
|
<h4>Partners</h4>
|
|
<div class="partner-list">
|
|
<a href="https://oc-guy.com" target="_blank" rel="noopener" class="partner-item"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#c9a227" stroke-width="2" aria-hidden="true"><path d="M20 7h-9M14 17H5M20 7l-4-4M20 7l-4 4M4 17l4 4M4 17l4-4" /></svg> OC Guy</a>
|
|
<a href="https://oca-py.org" target="_blank" rel="noopener" class="partner-item"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#c9a227" stroke-width="2" aria-hidden="true"><path d="M20 7h-9M14 17H5M20 7l-4-4M20 7l-4 4M4 17l4 4M4 17l4-4" /></svg> OCA Paraguay</a>
|
|
<a href="https://OD8N.com" target="_blank" rel="noopener" class="partner-item"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#c9a227" stroke-width="2" aria-hidden="true"><path d="M20 7h-9M14 17H5M20 7l-4-4M20 7l-4 4M4 17l4 4M4 17l4-4" /></svg> OD8N</a>
|
|
</div>
|
|
</div>
|
|
<div class="fcol-desc">
|
|
<h4>About us</h4>
|
|
<p>We build smart, scalable business solutions by combining the <strong>stability</strong> of Odoo ERP with the <strong>power</strong> of AI Agents and N8N automations.</p>
|
|
<p>From streamlined sales to global rollouts, our <strong>lean, eco-friendly</strong> approach helps businesses cut costs, boost efficiency, and grow without limits.</p>
|
|
</div>
|
|
<div>
|
|
<h4>Follow us on</h4>
|
|
<div class="social">
|
|
<a href="https://www.linkedin.com/company/odoo4projects/" target="_blank" aria-label="LinkedIn"><svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M4.98 3.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM3 9h4v12H3zM9 9h3.8v1.7h.05c.53-.95 1.83-1.95 3.76-1.95 4.02 0 4.76 2.5 4.76 5.75V21h-4v-5.5c0-1.31-.02-3-1.9-3-1.9 0-2.19 1.42-2.19 2.9V21H9z" /></svg></a>
|
|
<a href="https://www.youtube.com/@ODOO4projects" target="_blank" aria-label="YouTube"><svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M23 12s0-3.2-.41-4.73a2.5 2.5 0 0 0-1.76-1.77C19.3 5.1 12 5.1 12 5.1s-7.3 0-8.83.4A2.5 2.5 0 0 0 1.4 7.27C1 8.8 1 12 1 12s0 3.2.41 4.73a2.5 2.5 0 0 0 1.76 1.77c1.53.4 8.83.4 8.83.4s7.3 0 8.83-.4a2.5 2.5 0 0 0 1.76-1.77C23 15.2 23 12 23 12zM9.75 15.02V8.98L15.5 12z" /></svg></a>
|
|
</div>
|
|
<form class="footer-contact-form" id="footerContactForm" action="mailto:support@odoo4projects.com" method="post" enctype="text/plain">
|
|
<label class="cmp-sr-only" for="footerContactEmail">Your email address</label>
|
|
<input type="email" id="footerContactEmail" name="email" placeholder="Your email address" required />
|
|
<div class="footer-textarea-wrap">
|
|
<label class="cmp-sr-only" for="footerContactText">Your message</label>
|
|
<textarea id="footerContactText" name="message" placeholder="Your message..." required></textarea>
|
|
<button type="submit" class="footer-send-btn" aria-label="Send message"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M2 21l21-9L2 3v7l15 2-15 2z" /></svg></button>
|
|
</div>
|
|
<div class="footer-form-status" id="footerFormStatus" role="status"></div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div class="fcopy">Copyright © ODOO4projects LLC</div>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|