Public Access
The Hosting form on /odoo-black-friday/ posts product 4 ("basket") + clear=1
to the shop's custom /shop/post_basket route. Adding a third hidden field,
redirect=/coupon/HOST27?r=/shop/checkout, chains that route's redirect into
the core website_sale_loyalty GET /coupon/<code> handler, so a single click
lands the visitor on /shop/address with the -$100 first-year discount already
itemised (Total $295) - no typing, works with JavaScript off, and it survives
the cross-host POST because the target is baked into the form.
Mechanism designed, probed and proven signed-out end to end by odoo-dev
(wiki/concepts/odoo-shop-promo-autoapply.md). No module, no price change.
Rollback: delete the one <input type="hidden" name="redirect"> line.
715 lines
31 KiB
HTML
715 lines
31 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 Black Friday 2026: $100 Off Your First Year</title>
|
||
<meta
|
||
name="description"
|
||
content="Our Black Friday and Cyber Monday offers: $100 off your first year of hosting, and a Bootcamp place with a second hosted year. 16–30 Nov 2026."
|
||
/>
|
||
<link rel="canonical" href="https://odoo4projects.com/odoo-black-friday/" />
|
||
<meta property="og:title" content="Odoo Black Friday 2026: $100 Off Your First Year" />
|
||
<meta
|
||
property="og:description"
|
||
content="Our Black Friday and Cyber Monday offers: $100 off your first year of hosting, and a Bootcamp place with a second hosted year. 16–30 Nov 2026."
|
||
/>
|
||
<meta property="og:type" content="website" />
|
||
<meta property="og:url" content="https://odoo4projects.com/odoo-black-friday/" />
|
||
<meta property="og:image" content="https://odoo4projects.com/images/black-friday/bf2026-hosting-og.png" />
|
||
<meta property="og:image:width" content="1200" />
|
||
<meta property="og:image:height" content="630" />
|
||
<meta
|
||
property="og:image:alt"
|
||
content="Black Friday 2026 poster: 'Black Friday — 16–30 November', 'Save $100 on Odoo hosting' with a secret deal on the Bootcamp."
|
||
/>
|
||
<meta name="twitter:card" content="summary_large_image" />
|
||
<meta name="twitter:image" content="https://odoo4projects.com/images/black-friday/bf2026-hosting-og.png" />
|
||
<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" media="print" onload="this.media='all'" />
|
||
<noscript><link rel="stylesheet" href="/style.css" /></noscript>
|
||
<style>
|
||
/* ---- Odoo Black Friday 2026 page (page-scoped; additive) ---- */
|
||
.bf-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) */
|
||
.bf-topbar {
|
||
background: var(--midnight-2);
|
||
border-bottom: 1px solid var(--line-brass);
|
||
padding: 0.85rem 0;
|
||
}
|
||
.bf-topbar .container {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 1rem;
|
||
flex-wrap: wrap;
|
||
}
|
||
.bf-brand {
|
||
font-family: Marcellus, Georgia, serif;
|
||
font-size: 1.15rem;
|
||
letter-spacing: 0.04em;
|
||
color: #fff;
|
||
}
|
||
.bf-brand span {
|
||
color: var(--brass);
|
||
}
|
||
.bf-topbar-links {
|
||
display: flex;
|
||
gap: 1.25rem;
|
||
font-size: 0.82rem;
|
||
margin-left: auto;
|
||
}
|
||
.bf-topbar-links a {
|
||
color: rgba(255, 255, 255, 0.7);
|
||
}
|
||
.bf-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. */
|
||
.bf-topbar .lang-switch-slot {
|
||
display: flex;
|
||
align-items: center;
|
||
padding-left: 1rem;
|
||
border-left: 1px solid rgba(201, 162, 39, 0.45);
|
||
}
|
||
.bf-topbar .lang-switch {
|
||
color: rgba(255, 255, 255, 0.7);
|
||
}
|
||
.bf-topbar .lang-switch a:hover,
|
||
.bf-topbar .lang-switch a:focus-visible {
|
||
color: var(--brass-bright);
|
||
}
|
||
.bf-topbar .lang-switch a[aria-current="true"] {
|
||
color: var(--brass);
|
||
text-decoration: underline;
|
||
text-underline-offset: 3px;
|
||
}
|
||
|
||
/* Hero */
|
||
.bf-hero {
|
||
min-height: 0;
|
||
padding: 3.5rem 0 3rem;
|
||
}
|
||
.bf-hero .hero-sub {
|
||
max-width: 640px;
|
||
}
|
||
.bf-hero .hero-window {
|
||
font-size: 0.95rem;
|
||
color: rgba(255, 255, 255, 0.78);
|
||
line-height: 1.6;
|
||
margin: 0 0 0.25rem;
|
||
}
|
||
.bf-hero .hero-deadline {
|
||
font-size: 0.95rem;
|
||
color: rgba(255, 255, 255, 0.6);
|
||
line-height: 1.6;
|
||
margin: 0 0 1.5rem;
|
||
}
|
||
|
||
/* The two product boxes — one grid, two equal cards (Bootcamp, then Hosting). Side by side
|
||
from the desktop breakpoint down to 900 px; they stack, in the same order, below it. */
|
||
.bf-box .container {
|
||
display: grid;
|
||
grid-template-columns: 1fr 1fr;
|
||
gap: 1.5rem;
|
||
align-items: start;
|
||
}
|
||
@media (max-width: 900px) {
|
||
.bf-box .container {
|
||
grid-template-columns: 1fr;
|
||
}
|
||
}
|
||
.bf-box-inner {
|
||
background: var(--ivory);
|
||
border: 1px solid var(--line-brass);
|
||
border-radius: var(--radius-lg);
|
||
box-shadow: var(--shadow-rest);
|
||
padding: 2rem 2rem 1.5rem;
|
||
}
|
||
.bf-box-title {
|
||
text-align: center;
|
||
margin-bottom: 1.25rem;
|
||
}
|
||
|
||
/* Both offer cards are always open: the Black Friday price and the code are readable on
|
||
arrival, with no reveal and no click. The scroll animation further down is presentation
|
||
only — the base state is fully visible, so the offer is complete with JavaScript off,
|
||
under reduced motion, or if the animation never runs. */
|
||
.bf-teaser {
|
||
font-size: 1.02rem;
|
||
color: var(--ink);
|
||
line-height: 1.6;
|
||
margin: 0 0 1rem;
|
||
}
|
||
.bf-panel {
|
||
padding: 0.25rem 0 1.25rem;
|
||
border-top: 1px solid var(--line);
|
||
}
|
||
.bf-price {
|
||
font-size: 1.05rem;
|
||
color: var(--ink);
|
||
margin: 1rem 0 0.75rem;
|
||
}
|
||
.bf-price strong {
|
||
font-family: Marcellus, Georgia, serif;
|
||
font-weight: 400;
|
||
font-size: 1.55rem;
|
||
color: var(--brass-deep);
|
||
letter-spacing: 0.02em;
|
||
}
|
||
.bf-included {
|
||
font-size: 0.9rem;
|
||
color: var(--ink-soft);
|
||
line-height: 1.7;
|
||
margin: 0 0 0.9rem;
|
||
}
|
||
.bf-mechanism {
|
||
font-size: 0.98rem;
|
||
color: var(--ink);
|
||
background: rgba(201, 162, 39, 0.12);
|
||
border: 1px solid var(--line-brass);
|
||
border-radius: var(--radius-lg);
|
||
padding: 0.85rem 1.1rem;
|
||
margin: 0 0 0.75rem;
|
||
}
|
||
.bf-mechanism strong {
|
||
color: var(--midnight);
|
||
}
|
||
/* The code lives on the offer surface only. It is readable on arrival; the chip is easy to
|
||
select so it can be copied at checkout. */
|
||
.bf-code-wrap {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
align-items: baseline;
|
||
gap: 0.4rem 0.7rem;
|
||
}
|
||
.bf-code-label {
|
||
font-family: Inter, sans-serif;
|
||
font-weight: 600;
|
||
font-size: 0.72rem;
|
||
letter-spacing: 0.08em;
|
||
text-transform: uppercase;
|
||
color: var(--brass-deep);
|
||
}
|
||
.bf-code {
|
||
font-family: Marcellus, Georgia, serif;
|
||
font-size: 1.3rem;
|
||
letter-spacing: 0.12em;
|
||
color: var(--midnight);
|
||
background: var(--brass);
|
||
border-radius: var(--radius-pill);
|
||
padding: 0.2rem 0.9rem;
|
||
user-select: all;
|
||
}
|
||
.bf-code-note {
|
||
font-size: 0.9rem;
|
||
color: var(--ink-soft);
|
||
}
|
||
/* Presentation only: the code fades and rises a little as it scrolls into view. Opacity and
|
||
transform only — never visibility. The base state is fully opaque, so a build where the
|
||
animation never fires still shows the code. Everything here is behind @supports, so an
|
||
unsupported browser renders the static, visible code. */
|
||
@media (prefers-reduced-motion: no-preference) {
|
||
@supports (animation-timeline: view()) {
|
||
.bf-code {
|
||
animation-name: bf-code-in;
|
||
animation-timing-function: linear;
|
||
animation-fill-mode: both;
|
||
animation-duration: auto;
|
||
animation-timeline: view();
|
||
animation-range: entry 0% cover 45%;
|
||
}
|
||
}
|
||
}
|
||
@keyframes bf-code-in {
|
||
from {
|
||
opacity: 0.8;
|
||
transform: translateY(8px);
|
||
}
|
||
to {
|
||
opacity: 1;
|
||
transform: translateY(0);
|
||
}
|
||
}
|
||
.bf-deadline {
|
||
font-size: 0.85rem;
|
||
color: var(--ink-soft);
|
||
margin: 0 0 1.25rem;
|
||
}
|
||
.bf-cta {
|
||
margin: 0;
|
||
}
|
||
.bf-cta a {
|
||
display: inline-block;
|
||
font-family: Marcellus, Georgia, serif;
|
||
font-size: 0.9rem;
|
||
letter-spacing: 0.04em;
|
||
color: var(--midnight);
|
||
background: var(--brass);
|
||
border-radius: var(--radius-pill);
|
||
padding: 0.8rem 1.75rem;
|
||
text-decoration: none;
|
||
transition: background 0.2s;
|
||
}
|
||
.bf-cta a:hover {
|
||
background: var(--brass-bright);
|
||
color: var(--midnight);
|
||
}
|
||
.bf-cta a:focus-visible {
|
||
outline: 3px solid var(--midnight);
|
||
outline-offset: 2px;
|
||
}
|
||
/* Hosting CTA: a native form that posts the plan straight to the shop basket, so one click
|
||
from this page lands the visitor in checkout with the plan already in the cart. Works with
|
||
JavaScript off (it is a plain form POST). */
|
||
.bf-cta-form {
|
||
margin: 0 0 0.75rem;
|
||
}
|
||
.bf-cta-form .btn {
|
||
display: inline-block;
|
||
font-family: Marcellus, Georgia, serif;
|
||
font-size: 0.9rem;
|
||
letter-spacing: 0.04em;
|
||
color: var(--midnight);
|
||
background: var(--brass);
|
||
border: 0;
|
||
border-radius: var(--radius-pill);
|
||
padding: 0.8rem 1.75rem;
|
||
cursor: pointer;
|
||
}
|
||
.bf-cta-form .btn:hover {
|
||
background: var(--brass-bright);
|
||
color: var(--midnight);
|
||
}
|
||
.bf-cta-form .btn:focus-visible {
|
||
outline: 3px solid var(--midnight);
|
||
outline-offset: 2px;
|
||
}
|
||
.bf-cta-secondary {
|
||
font-size: 0.85rem;
|
||
margin: 0;
|
||
}
|
||
.bf-cta-secondary a {
|
||
color: var(--brass-deep);
|
||
text-decoration: underline;
|
||
text-underline-offset: 3px;
|
||
}
|
||
|
||
/* 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 .faq-a,
|
||
.cmp-faq .cmp-a {
|
||
font-size: 0.87rem;
|
||
color: var(--ink-soft);
|
||
line-height: 1.7;
|
||
padding-bottom: 1rem;
|
||
}
|
||
.cmp-faq .faq-a p:last-child,
|
||
.cmp-faq .cmp-a p:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
@media (max-width: 768px) {
|
||
.cmp-faq-grid {
|
||
grid-template-columns: 1fr;
|
||
}
|
||
}
|
||
|
||
/* Related links */
|
||
.bf-links {
|
||
display: flex;
|
||
gap: 1.25rem;
|
||
flex-wrap: wrap;
|
||
justify-content: center;
|
||
max-width: 900px;
|
||
margin: 2.5rem auto 0;
|
||
}
|
||
.bf-links a {
|
||
font-size: 0.88rem;
|
||
color: var(--brass-deep);
|
||
text-decoration: underline;
|
||
text-underline-offset: 3px;
|
||
}
|
||
.bf-links a:focus-visible {
|
||
outline: 2px solid var(--brass);
|
||
outline-offset: 3px;
|
||
border-radius: var(--radius);
|
||
}
|
||
|
||
.btn:focus-visible,
|
||
.bf-topbar-links a:focus-visible,
|
||
.bf-links a:focus-visible {
|
||
outline: 3px solid var(--brass-bright);
|
||
outline-offset: 2px;
|
||
border-radius: var(--radius);
|
||
}
|
||
</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-black-friday/",
|
||
"url": "https://odoo4projects.com/odoo-black-friday/",
|
||
"name": "Odoo Black Friday 2026: $100 Off Your First Year",
|
||
"description": "Our Black Friday and Cyber Monday offers: $100 off your first year of hosting, and a Bootcamp place with a second hosted year. 16–30 Nov 2026.",
|
||
"isPartOf": { "@id": "https://odoo4projects.com/#organization" },
|
||
"about": [
|
||
{ "@type": "Thing", "name": "Odoo Black Friday" },
|
||
{ "@type": "Thing", "name": "managed Odoo Community hosting" },
|
||
{ "@type": "Thing", "name": "Odoo ERP automation Bootcamp" }
|
||
]
|
||
},
|
||
{
|
||
"@type": "BreadcrumbList",
|
||
"itemListElement": [
|
||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://odoo4projects.com/" },
|
||
{ "@type": "ListItem", "position": 2, "name": "Odoo Black Friday 2026", "item": "https://odoo4projects.com/odoo-black-friday/" }
|
||
]
|
||
},
|
||
{
|
||
"@type": "Product",
|
||
"name": "On the Rise — managed Odoo Community hosting",
|
||
"description": "Managed Odoo Community hosting on the On the Rise plan: the server, backups, SSL certificate and version upgrades are run for you on one yearly price, with no per-user licence.",
|
||
"brand": { "@id": "https://odoo4projects.com/#organization" },
|
||
"offers": [
|
||
{
|
||
"@type": "Offer",
|
||
"name": "On the Rise — Black Friday 2026",
|
||
"price": "295.00",
|
||
"priceCurrency": "USD",
|
||
"url": "https://odoo4projects.com/odoo-black-friday/"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"@type": "Product",
|
||
"name": "Odoo ERP automation Bootcamp",
|
||
"description": "A ten-session live Bootcamp that ends with your business running on a working Odoo system: ten live Thursday sessions, 18:00–19:00 Central Time, starting Thursday 21 January 2027, with a year of hosted Odoo Community Edition included.",
|
||
"brand": { "@id": "https://odoo4projects.com/#organization" },
|
||
"offers": [
|
||
{
|
||
"@type": "Offer",
|
||
"name": "Odoo ERP automation Bootcamp — January 2027 cohort",
|
||
"price": "595.00",
|
||
"priceCurrency": "USD",
|
||
"url": "https://odoo4projects.com/odoo-erp-automation-bootcamp/"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"@type": "FAQPage",
|
||
"mainEntity": [
|
||
{
|
||
"@type": "Question",
|
||
"name": "When does the Odoo Black Friday offer run?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "From 16 to 30 November 2026. It ends on Cyber Monday, 30 November 2026."
|
||
}
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "What does the hosting discount give me?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "One hundred dollars off your first year of hosting. It is once per customer, one redemption."
|
||
}
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "Is the Bootcamp part of the Black Friday offer?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "Yes. The Bootcamp's Black Friday offer is a second year of hosted Odoo Community Edition, on top of the one that is already included. It runs 16–30 November 2026, and the cohort is six seats."
|
||
}
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "What does On the Rise cost in the offer?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "It is $395.00 a year, and $295.00 for your first year. After the first year it renews at the $395 list price."
|
||
}
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "Does the discount apply to renewals?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "No. It applies to your first year only. After that, hosting renews at its normal price, $395.00 a year on On the Rise."
|
||
}
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "What happens if I miss the deadline?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "The price goes back to normal on 1 December 2026 and the offer stops working. It returns with next year's offer."
|
||
}
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
</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="bf-topbar">
|
||
<div class="container">
|
||
<a class="bf-brand" href="/">ODOO4<span>projects</span></a>
|
||
<nav class="bf-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 -->
|
||
<section class="hero bf-hero">
|
||
<div class="container">
|
||
<p class="hero-kicker">16–30 NOVEMBER 2026 · ONCE A YEAR</p>
|
||
<h1>Odoo Black Friday 2026</h1>
|
||
<p class="hero-sub">Two Black Friday offers: $100 off a year of hosting, and a Bootcamp place with a second hosted year.</p>
|
||
<p class="hero-window">The window is 16–30 November 2026.</p>
|
||
<p class="hero-deadline">Last day to use it: Monday 30 November 2026.</p>
|
||
<div class="hero-actions">
|
||
<a href="/index.html#trialCard" class="btn btn-brass btn-lg">Start the 30-day free trial</a>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- The two Black Friday offers — one section, two boxes, Bootcamp first. Both cards are always
|
||
open: the price and the code are readable on arrival, with no reveal and no click. -->
|
||
<section class="section-light bf-box" id="offer">
|
||
<div class="container">
|
||
<!-- Box 1 — Bootcamp -->
|
||
<div class="bf-box-inner">
|
||
<h2 class="bf-box-title">Bootcamp: ten live sessions to a working system</h2>
|
||
<div class="bf-panel">
|
||
<p class="bf-teaser">A working system for your business in ten live sessions, USD 595 — with a second hosted year added for Black Friday.</p>
|
||
<p class="bf-price"><strong>USD 595.00</strong> for the full programme. Black Friday adds <strong>a second year of hosted Odoo Community Edition</strong>, on top of the one already included.</p>
|
||
<p class="bf-included">Ten live Thursday sessions, 18:00–19:00 Central Time, starting Thursday 21 January 2027. Six seats, and no more. Your first hosted year is included as standard; the second year is the Black Friday add-on.</p>
|
||
<!-- Bootcamp mechanism string — ONE reusable line, isolated exactly as the Hosting box's is
|
||
(copy §3b). Whether the discount code applies to the Bootcamp is UNCONFIRMED
|
||
(BOOTCAMP-CONFIRM), so the discounted figure stays a build placeholder and is NOT
|
||
printed. Swap this one line when it is confirmed. -->
|
||
<p class="bf-mechanism">Black Friday: <strong>a second year of hosted Odoo Community Edition</strong>. One redemption per customer.<!-- OPEN-SLOT: bootcamp Black Friday price line --></p>
|
||
<p class="bf-deadline">Ends Monday 30 November 2026.</p>
|
||
<!-- Buy = CLICK PROXY (offer-CTA click), NOT a sale. The real purchase event is fired on the
|
||
checkout host (20.odoo4projects.com) by odoo-dev. See wiki/concepts/conversion-tracking-contract. -->
|
||
<p class="bf-cta"><a class="plausible-event-name=Buy" href="/odoo-erp-automation-bootcamp/">See the Bootcamp and what you build</a></p>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Box 2 — Hosting, On the Rise -->
|
||
<div class="bf-box-inner">
|
||
<h2 class="bf-box-title">Hosting: On the Rise</h2>
|
||
<div class="bf-panel">
|
||
<p class="bf-teaser">Your whole business in one system. The Black Friday price is right here — no code to hunt for.</p>
|
||
<p class="bf-price"><strong>$395.00</strong> a year — <strong>$295.00</strong> for your first year.</p>
|
||
<p class="bf-included">Then it renews at the $395 list price. One yearly price, no per-user licence, no setup fee. We run the server, the backups, your certificate and the version upgrades for you.</p>
|
||
<!-- mechanism string, used verbatim — see §3. The code is the offer surface: it stays out
|
||
of meta, alt text, structured data and build comments. -->
|
||
<p class="bf-mechanism bf-code-wrap"><span class="bf-code-label">Your code</span><span class="bf-code">HOST27</span><span class="bf-code-note">takes $100 off your first year at checkout. One redemption per customer.</span></p>
|
||
<p class="bf-deadline">Ends Monday 30 November 2026.</p>
|
||
<!-- Buy = CLICK PROXY (offer-CTA click), NOT a sale (see the other box on this page).
|
||
The form posts the On the Rise product (id 4) straight to the shop basket, so one
|
||
click lands the visitor in checkout with the plan already in the cart. -->
|
||
<form method="post" action="https://20.odoo4projects.com/shop/post_basket" target="_blank" class="bf-cta-form plausible-event-name=Buy">
|
||
<input type="hidden" name="basket" value='[{"product_id":4,"qty":1}]' />
|
||
<input type="hidden" name="clear" value="1" />
|
||
<input type="hidden" name="redirect" value="/coupon/HOST27?r=/shop/checkout" />
|
||
<button type="submit" class="btn btn-brass btn-lg">Buy On the Rise — $295 first year</button>
|
||
</form>
|
||
<p class="bf-cta-secondary"><a href="/odoo-hosting-offers/">See everything a year of hosting includes</a></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- FAQ -->
|
||
<section class="section-light" id="faq">
|
||
<div class="container">
|
||
<h2 class="section-title">Black Friday questions</h2>
|
||
<div class="cmp-faq-grid">
|
||
<details class="cmp-faq">
|
||
<summary class="plausible-event-name=FAQ">When does the Odoo Black Friday offer run?</summary>
|
||
<div class="faq-a"><p>From 16 to 30 November 2026. It ends on Cyber Monday, 30 November 2026.</p></div>
|
||
</details>
|
||
<details class="cmp-faq">
|
||
<summary class="plausible-event-name=FAQ">What does the hosting discount give me?</summary>
|
||
<div class="faq-a"><p>One hundred dollars off your first year of hosting. It is once per customer, one redemption.</p></div>
|
||
</details>
|
||
<details class="cmp-faq">
|
||
<summary class="plausible-event-name=FAQ">Is the Bootcamp part of the Black Friday offer?</summary>
|
||
<div class="faq-a"><p>Yes. The Bootcamp's Black Friday offer is a second year of hosted Odoo Community Edition, on top of the one that is already included. It runs 16–30 November 2026, and the cohort is six seats.</p></div>
|
||
</details>
|
||
<details class="cmp-faq">
|
||
<summary class="plausible-event-name=FAQ">What does On the Rise cost in the offer?</summary>
|
||
<div class="faq-a"><p>It is $395.00 a year, and $295.00 for your first year. After the first year it renews at the $395 list price.</p></div>
|
||
</details>
|
||
<details class="cmp-faq">
|
||
<summary class="plausible-event-name=FAQ">Does the discount apply to renewals?</summary>
|
||
<div class="faq-a"><p>No. It applies to your first year only. After that, hosting renews at its normal price, $395.00 a year on On the Rise.</p></div>
|
||
</details>
|
||
<details class="cmp-faq">
|
||
<summary class="plausible-event-name=FAQ">What happens if I miss the deadline?</summary>
|
||
<div class="faq-a"><p>The price goes back to normal on 1 December 2026 and the offer stops working. It returns with next year's offer.</p></div>
|
||
</details>
|
||
</div>
|
||
|
||
<nav class="bf-links" aria-label="Related pages">
|
||
<a href="/odoo-hosting-2027.html">Odoo hosting in 2027, compared</a>
|
||
<a href="/blog/posts/community-vs-enterprise-cost.html">What Community costs compared with Enterprise</a>
|
||
<a href="/index.html#trialCard">Start the 30-day free trial</a>
|
||
</nav>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Footer (copied from index.html; icon-font glyphs replaced with inline SVG so the page
|
||
carries no external icon dependency) -->
|
||
<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:hello@odoo4projects.com" method="post" enctype="text/plain">
|
||
<label class="bf-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="bf-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>
|