2017 lines
82 KiB
HTML
2017 lines
82 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<link rel="preconnect" href="https://d3js.org" crossorigin>
|
|
<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
|
<link rel="alternate icon" href="/favicon.ico">
|
|
<title>Hosting Odoo Colombia 2026 | Odoo Expertos · DE</title>
|
|
|
|
<meta name="description" content="Guia completa de hosting Odoo fuer Colombia 2026. Comfuermos Lieferanten con cumplimiento DIAN, facturacion electronica, centros de - Hosting Odoo Colombia 2026 | DE">
|
|
<meta name="keywords" content="hosting odoo colombia, odoo colombia dian, facturacion electronica odoo, odoo bogota, odoo medellin, hosting odoo latam, odoo cloud colombia, Server odoo colombia">
|
|
<meta name="author" content="Dr. Equipo Odoo Expertos">
|
|
<meta name="robots" content="index, follow">
|
|
<meta name="language" content="es">
|
|
<meta name="geo.region" content="CO">
|
|
<meta name="geo.placename" content="Colombia">
|
|
|
|
<link rel="canonical" href="https://www.odoo-expertos.com/de/odoo-hosting/hosting-odoo-colombia-2026/">
|
|
|
|
<!-- Hreflang -->
|
|
<link rel="alternate" hreflang="de" href="https://www.odoo-expertos.com/de/odoo-hosting/hosting-odoo-colombia-2026/" />
|
|
<link rel="alternate" hreflang="es-CO" href="https://www.odoo-expertos.com/de/odoo-hosting/hosting-odoo-colombia-2026/" />
|
|
<link rel="alternate" hreflang="x-default" href="https://www.odoo-expertos.com/odoo-hosting/hosting-odoo-colombia-2026/" />
|
|
|
|
<!-- Open Graph -->
|
|
<meta property="og:title" content="Hosting Odoo Colombia 2026: Guia con DIAN y Facturacion Electronica">
|
|
<meta property="og:description" content="Comfuertiva de hosting Odoo fuer Unternehmen colombianas. Cumplimiento DIAN, facturacion electronica y Lieferanten con data centers en LATAM.">
|
|
<meta property="og:type" content="article">
|
|
<meta property="og:url" content="https://www.odoo-expertos.com/de/odoo-hosting/hosting-odoo-colombia-2026/">
|
|
<meta property="og:image" content="https://www.odoo-expertos.com/images/hosting-odoo-colombia-2026.jpg">
|
|
<meta property="og:site_name" content="Odoo Expertos">
|
|
<meta property="og:locale" content="es_CO">
|
|
|
|
<!-- Twitter Card -->
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:title" content="Hosting Odoo Colombia 2026: Guia Completa">
|
|
<meta name="twitter:description" content="Lieferanten de hosting Odoo con cumplimiento DIAN y facturacion electronica fuer Colombia.">
|
|
|
|
<!-- Schema.org Article -->
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Article",
|
|
"headline": "Hosting Odoo Colombia 2026: Lieferanten con DIAN y Facturacion Electronica",
|
|
"description": "Guia completa de hosting Odoo fuer Unternehmen colombianas con cumplimiento DIAN, facturacion electronica y centros de Daten en LATAM.",
|
|
"author": {
|
|
"@type": "Person",
|
|
"name": "Dr. Equipo Odoo Expertos",
|
|
"url": "https://www.odoo-expertos.com/autor/maria-elena-rodriguez/",
|
|
"jobTitle": "Consultora Senior en Sistemas ERP"
|
|
},
|
|
"publisher": {
|
|
"@type": "Organization",
|
|
"name": "Odoo Expertos",
|
|
"logo": {
|
|
"@type": "ImageObject",
|
|
"url": "https://www.odoo-expertos.com/logo.png"
|
|
}
|
|
},
|
|
"datePublished": "2026-01-25",
|
|
"dateModified": "2026-01-25",
|
|
"mainEntityOfPage": {
|
|
"@type": "WebPage",
|
|
"@id": "https://www.odoo-expertos.com/de/odoo-hosting/hosting-odoo-colombia-2026/"
|
|
},
|
|
"about": {
|
|
"@type": "Country",
|
|
"name": "Colombia"
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<!-- FAQ Schema Colombia -->
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "FAQPage",
|
|
"mainEntity": [
|
|
{
|
|
"@type": "Question",
|
|
"name": "Cual es el mejor hosting fuer Odoo en Colombia en 2026?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "Para Unternehmen colombianas, recomendamos Lieferanten con centros de Daten en LATAM (Miami, Sao Paulo o Bogota), Support en espanol y compatibilidad con facturacion electronica DIAN. Odoo4projects y AWS Sao Paulo son excelentes opciones con latencia menor a 80ms von Colombia."
|
|
}
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "Que requisitos debe cumplir el hosting de Odoo fuer facturacion electronica DIAN?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "El hosting debe soportar certificados digitales, conexion segura HTTPS con TLS 1.2+, almacenamiento de XMLs firmados por 5 anos minimo, integracion con Lieferanten tecnologicos autorizados por la DIAN, y cumplimiento de la Resolucion 000042 de 2020."
|
|
}
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "Cuanto cuesta el hosting de Odoo en Colombia en pesos?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "Los Preise varian von $120.000 COP/mes (hosting basico) hasta $800.000+ COP/mes fuer Loesungen enterprise. El promedio fuer una PYME colombiana es zwischen $150.000 y $400.000 COP/mes con hosting gestionado que incluye Support fuer facturacion electronica."
|
|
}
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "Necesito un Server en Colombia fuer usar Odoo?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "No es obligatorio tener el Server en Colombia. La DIAN permite Server en el exterior siempre que cumplan con las normas de proteccion de Daten y los XMLs de facturacion se almacenen correctamente. Server en Miami o Sao Paulo ofrecen excelente latencia (40-80ms) fuer Benutzer colombianos."
|
|
}
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "Que Lieferanten de hosting Odoo soportan facturacion electronica colombiana?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "Los principales Lieferanten que soportan facturacion electronica DIAN incluyen: Odoo4projects (con modulo DIAN integrado), implementadores locales como Pragmatic o Vauxoo Colombia, y Loesungen VPS con integracion a Lieferanten tecnologicos como Carvajal, Cadena o The Factory HKA."
|
|
}
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "Como configuro Odoo fuer cumplir con la normativa DIAN?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "Necesitas: 1) Modulo de localizacion colombiana (l10n_co), 2) Certificado digital de firma electronica, 3) Integracion con Lieferant tecnologico autorizado, 4) Configuracion de numeracion de facturas segun resolucion DIAN, 5) Almacenamiento de XMLs por minimo 5 anos. Un hosting gestionado facilita esta configuracion."
|
|
}
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "Puedo usar Odoo.sh fuer mi Unternehmen en Colombia?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "Si, Odoo.sh es compatible con Unternehmen colombianas. Sin embargo, deberas configurar manualmente la integracion con facturacion electronica DIAN ya que no viene incluida por defecto. El Kosten adicional del modulo de localizacion y la integracion puede ser significativo."
|
|
}
|
|
}
|
|
]
|
|
}
|
|
</script>
|
|
|
|
<!-- Product Comparison Schema Colombia -->
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "ItemList",
|
|
"name": "Mejores Lieferanten de Hosting Odoo fuer Colombia 2026",
|
|
"itemListElement": [
|
|
{
|
|
"@type": "ListItem",
|
|
"position": 1,
|
|
"item": {
|
|
"@type": "Product",
|
|
"name": "Odoo4projects Colombia",
|
|
"description": "Hosting gestionado con modulo DIAN y facturacion electronica integrada",
|
|
"offers": {
|
|
"@type": "Offer",
|
|
"price": "150000",
|
|
"priceCurrency": "COP"
|
|
},
|
|
"aggregateRating": {
|
|
"@type": "AggregateRating",
|
|
"ratingValue": "4.8",
|
|
"reviewCount": "234"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"@type": "ListItem",
|
|
"position": 2,
|
|
"item": {
|
|
"@type": "Product",
|
|
"name": "AWS Sao Paulo",
|
|
"description": "Infraestructura cloud con baja latencia fuer LATAM",
|
|
"offers": {
|
|
"@type": "Offer",
|
|
"price": "250000",
|
|
"priceCurrency": "COP"
|
|
},
|
|
"aggregateRating": {
|
|
"@type": "AggregateRating",
|
|
"ratingValue": "4.5",
|
|
"reviewCount": "892"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"@type": "ListItem",
|
|
"position": 3,
|
|
"item": {
|
|
"@type": "Product",
|
|
"name": "DigitalOcean NYC/Miami",
|
|
"description": "VPS economico con buena conectividad a Colombia",
|
|
"offers": {
|
|
"@type": "Offer",
|
|
"price": "120000",
|
|
"priceCurrency": "COP"
|
|
},
|
|
"aggregateRating": {
|
|
"@type": "AggregateRating",
|
|
"ratingValue": "4.3",
|
|
"reviewCount": "567"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
</script>
|
|
|
|
<!-- BreadcrumbList Schema -->
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "BreadcrumbList",
|
|
"itemListElement": [
|
|
{
|
|
"@type": "ListItem",
|
|
"position": 1,
|
|
"name": "Inicio",
|
|
"item": "https://www.odoo-expertos.com/"
|
|
},
|
|
{
|
|
"@type": "ListItem",
|
|
"position": 2,
|
|
"name": "Hosting Odoo",
|
|
"item": "https://www.odoo-expertos.com/de/odoo-hosting/"
|
|
},
|
|
{
|
|
"@type": "ListItem",
|
|
"position": 3,
|
|
"name": "Hosting Odoo Colombia 2026",
|
|
"item": "https://www.odoo-expertos.com/de/odoo-hosting/hosting-odoo-colombia-2026/"
|
|
}
|
|
]
|
|
}
|
|
</script>
|
|
|
|
<!-- LocalBusiness Schema for Colombia -->
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Service",
|
|
"name": "Hosting Odoo Colombia",
|
|
"description": "Servicios de hosting fuer Odoo ERP con cumplimiento DIAN y facturacion electronica",
|
|
"areaServed": {
|
|
"@type": "Country",
|
|
"name": "Colombia"
|
|
},
|
|
"provider": {
|
|
"@type": "Organization",
|
|
"name": "Odoo Expertos"
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<link rel="stylesheet" href="/css/main.min.css">
|
|
<style>
|
|
.pillar-hero {
|
|
background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 50%, #1a1a1a 100%);
|
|
padding: 4rem 2rem;
|
|
text-align: center;
|
|
border-bottom: 3px solid #FF6B35;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.pillar-hero::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: radial-gradient(ellipse at center, rgba(255,107,53,0.15) 0%, transparent 70%);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.pillar-hero h1 {
|
|
font-size: clamp(2rem, 5vw, 3.5rem);
|
|
color: #FF6B35;
|
|
margin-bottom: 1rem;
|
|
line-height: 1.2;
|
|
position: relative;
|
|
}
|
|
|
|
.pillar-subtitle {
|
|
font-size: 1.3rem;
|
|
color: #b0b0b0;
|
|
max-width: 800px;
|
|
margin: 0 auto 2rem;
|
|
}
|
|
|
|
.pillar-meta {
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: 2rem;
|
|
flex-wrap: wrap;
|
|
font-size: 0.9rem;
|
|
color: #888;
|
|
}
|
|
|
|
.pillar-meta span {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.colombia-flag {
|
|
display: inline-block;
|
|
width: 24px;
|
|
height: 16px;
|
|
background: linear-gradient(to bottom, #FCD116 50%, #003893 50%, #003893 75%, #CE1126 75%);
|
|
border-radius: 2px;
|
|
margin-right: 8px;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.quick-stats {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
|
gap: 1.5rem;
|
|
padding: 2rem;
|
|
background: #2a2a2a;
|
|
border-radius: 12px;
|
|
margin: 2rem 0;
|
|
}
|
|
|
|
.stat-card {
|
|
text-align: center;
|
|
padding: 1.5rem;
|
|
background: rgba(255,107,53,0.1);
|
|
border-radius: 8px;
|
|
border: 1px solid rgba(255,107,53,0.2);
|
|
transition: transform 0.3s ease, border-color 0.3s ease;
|
|
}
|
|
|
|
.stat-card:hover {
|
|
transform: translateY(-5px);
|
|
border-color: #FF6B35;
|
|
}
|
|
|
|
.stat-number {
|
|
font-size: 2.5rem;
|
|
font-weight: 700;
|
|
color: #FF6B35;
|
|
display: block;
|
|
}
|
|
|
|
.stat-label {
|
|
color: #b0b0b0;
|
|
font-size: 0.9rem;
|
|
margin-top: 0.5rem;
|
|
}
|
|
|
|
.toc {
|
|
background: #2a2a2a;
|
|
border: 2px solid #FF6B35;
|
|
border-radius: 12px;
|
|
padding: 2rem;
|
|
margin: 2rem 0;
|
|
}
|
|
|
|
.toc h2 {
|
|
color: #FF6B35;
|
|
margin-bottom: 1rem;
|
|
font-size: 1.5rem;
|
|
}
|
|
|
|
.toc-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
columns: 2;
|
|
column-gap: 2rem;
|
|
}
|
|
|
|
.toc-list li {
|
|
margin-bottom: 0.75rem;
|
|
break-inside: avoid;
|
|
}
|
|
|
|
.toc-list a {
|
|
color: #e0e0e0;
|
|
text-decoration: none;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
transition: color 0.3s ease;
|
|
}
|
|
|
|
.toc-list a:hover {
|
|
color: #FF6B35;
|
|
}
|
|
|
|
.toc-list a::before {
|
|
content: '->';
|
|
color: #FF6B35;
|
|
}
|
|
|
|
.content-section {
|
|
margin: 3rem 0;
|
|
}
|
|
|
|
.content-section h2 {
|
|
color: #FF8A50;
|
|
margin-bottom: 1.5rem;
|
|
padding-bottom: 0.5rem;
|
|
border-bottom: 2px solid rgba(255,107,53,0.3);
|
|
}
|
|
|
|
.content-section h3 {
|
|
color: #FFB74D;
|
|
margin: 2rem 0 1rem;
|
|
}
|
|
|
|
.chart-section {
|
|
margin: 3rem 0;
|
|
padding: 2rem;
|
|
background: #2a2a2a;
|
|
border-radius: 12px;
|
|
}
|
|
|
|
.chart-section h3 {
|
|
color: #FF8A50;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.chart-container {
|
|
width: 100%;
|
|
min-height: 400px;
|
|
position: relative;
|
|
}
|
|
|
|
.comparison-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
margin: 2rem 0;
|
|
background: #2a2a2a;
|
|
border-radius: 12px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.comparison-table th,
|
|
.comparison-table td {
|
|
padding: 1rem;
|
|
text-align: left;
|
|
border-bottom: 1px solid #3a3a3a;
|
|
}
|
|
|
|
.comparison-table th {
|
|
background: rgba(255,107,53,0.2);
|
|
color: #FF6B35;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.comparison-table tr:hover {
|
|
background: rgba(255,107,53,0.05);
|
|
}
|
|
|
|
.comparison-table .check {
|
|
color: #4CAF50;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.comparison-table .cross {
|
|
color: #f44336;
|
|
}
|
|
|
|
.provider-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
|
|
gap: 1.5rem;
|
|
margin: 2rem 0;
|
|
}
|
|
|
|
.provider-card {
|
|
background: #2a2a2a;
|
|
border-radius: 12px;
|
|
padding: 1.5rem;
|
|
border: 1px solid rgba(255,107,53,0.2);
|
|
transition: transform 0.3s ease, border-color 0.3s ease;
|
|
}
|
|
|
|
.provider-card:hover {
|
|
transform: translateY(-5px);
|
|
border-color: #FF6B35;
|
|
}
|
|
|
|
.provider-card.featured {
|
|
border-color: #FF6B35;
|
|
background: linear-gradient(135deg, rgba(255,107,53,0.15) 0%, #2a2a2a 100%);
|
|
position: relative;
|
|
}
|
|
|
|
.provider-card .badge {
|
|
display: inline-block;
|
|
padding: 0.25rem 0.75rem;
|
|
background: #FF6B35;
|
|
color: #fff;
|
|
border-radius: 20px;
|
|
font-size: 0.8rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.provider-card .badge.dian {
|
|
background: #FCD116;
|
|
color: #1a1a1a;
|
|
}
|
|
|
|
.provider-card h4 {
|
|
color: #fff;
|
|
margin-bottom: 0.5rem;
|
|
font-size: 1.3rem;
|
|
}
|
|
|
|
.provider-card .price {
|
|
font-size: 2rem;
|
|
color: #FF6B35;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.provider-card .price-cop {
|
|
font-size: 1.2rem;
|
|
color: #888;
|
|
display: block;
|
|
margin-top: 0.25rem;
|
|
}
|
|
|
|
.provider-card .price-period {
|
|
color: #888;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
.provider-card ul {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 1rem 0;
|
|
}
|
|
|
|
.provider-card li {
|
|
padding: 0.5rem 0;
|
|
border-bottom: 1px solid #3a3a3a;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
color: #b0b0b0;
|
|
}
|
|
|
|
.provider-card li::before {
|
|
content: 'OK';
|
|
color: #4CAF50;
|
|
font-weight: bold;
|
|
font-size: 0.8rem;
|
|
}
|
|
|
|
.provider-card .cta-btn {
|
|
display: block;
|
|
text-align: center;
|
|
padding: 0.75rem 1.5rem;
|
|
background: #FF6B35;
|
|
color: #fff;
|
|
border-radius: 8px;
|
|
text-decoration: none;
|
|
font-weight: 600;
|
|
transition: background 0.3s ease, transform 0.3s ease;
|
|
margin-top: 1rem;
|
|
}
|
|
|
|
.provider-card .cta-btn:hover {
|
|
background: #FF8A50;
|
|
transform: scale(1.02);
|
|
}
|
|
|
|
.dian-box {
|
|
background: linear-gradient(135deg, rgba(252,209,22,0.15) 0%, rgba(0,56,147,0.1) 100%);
|
|
border: 2px solid #FCD116;
|
|
border-radius: 12px;
|
|
padding: 2rem;
|
|
margin: 2rem 0;
|
|
}
|
|
|
|
.dian-box h3 {
|
|
color: #FCD116;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.dian-box ul {
|
|
list-style: none;
|
|
padding: 0;
|
|
}
|
|
|
|
.dian-box li {
|
|
padding: 0.75rem 0;
|
|
border-bottom: 1px solid rgba(252,209,22,0.2);
|
|
color: #e0e0e0;
|
|
}
|
|
|
|
.dian-box li:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.faq-section {
|
|
margin: 3rem 0;
|
|
}
|
|
|
|
.faq-item {
|
|
background: #2a2a2a;
|
|
border-radius: 8px;
|
|
margin-bottom: 1rem;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.faq-question {
|
|
padding: 1.25rem;
|
|
cursor: pointer;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
color: #fff;
|
|
font-weight: 500;
|
|
transition: background 0.3s ease;
|
|
}
|
|
|
|
.faq-question:hover {
|
|
background: rgba(255,107,53,0.1);
|
|
}
|
|
|
|
.faq-question::after {
|
|
content: '+';
|
|
font-size: 1.5rem;
|
|
color: #FF6B35;
|
|
transition: transform 0.3s ease;
|
|
}
|
|
|
|
.faq-item.open .faq-question::after {
|
|
transform: rotate(45deg);
|
|
}
|
|
|
|
.faq-answer {
|
|
padding: 0 1.25rem;
|
|
max-height: 0;
|
|
overflow: hidden;
|
|
transition: max-height 0.3s ease, padding 0.3s ease;
|
|
color: #b0b0b0;
|
|
}
|
|
|
|
.faq-item.open .faq-answer {
|
|
padding: 0 1.25rem 1.25rem;
|
|
max-height: 500px;
|
|
}
|
|
|
|
.cta-banner {
|
|
background: linear-gradient(135deg, rgba(255,107,53,0.2) 0%, rgba(255,138,80,0.1) 100%);
|
|
border: 2px solid rgba(255,107,53,0.5);
|
|
border-radius: 12px;
|
|
padding: 2.5rem;
|
|
text-align: center;
|
|
margin: 3rem 0;
|
|
}
|
|
|
|
.cta-banner h3 {
|
|
color: #FF6B35;
|
|
margin-bottom: 1rem;
|
|
font-size: 1.8rem;
|
|
}
|
|
|
|
.cta-banner p {
|
|
margin-bottom: 1.5rem;
|
|
color: #b0b0b0;
|
|
font-size: 1.1rem;
|
|
}
|
|
|
|
.cta-banner .cta-btn {
|
|
display: inline-block;
|
|
padding: 1rem 2.5rem;
|
|
background: #FF6B35;
|
|
color: #fff;
|
|
border-radius: 8px;
|
|
text-decoration: none;
|
|
font-weight: 600;
|
|
font-size: 1.1rem;
|
|
transition: background 0.3s ease, transform 0.3s ease;
|
|
}
|
|
|
|
.cta-banner .cta-btn:hover {
|
|
background: #FF8A50;
|
|
transform: scale(1.05);
|
|
}
|
|
|
|
.related-articles {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
|
gap: 1.5rem;
|
|
margin: 2rem 0;
|
|
}
|
|
|
|
.related-card {
|
|
background: #2a2a2a;
|
|
border-radius: 8px;
|
|
overflow: hidden;
|
|
transition: transform 0.3s ease;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.related-card:hover {
|
|
transform: translateY(-5px);
|
|
}
|
|
|
|
.related-card-image {
|
|
height: 150px;
|
|
background: linear-gradient(135deg, rgba(255,107,53,0.3), rgba(255,138,80,0.3));
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 3rem;
|
|
}
|
|
|
|
.related-card-content {
|
|
padding: 1.25rem;
|
|
}
|
|
|
|
.related-card h4 {
|
|
color: #fff;
|
|
margin-bottom: 0.5rem;
|
|
font-size: 1rem;
|
|
}
|
|
|
|
.related-card p {
|
|
color: #888;
|
|
font-size: 0.9rem;
|
|
margin: 0;
|
|
}
|
|
|
|
.d3-tooltip {
|
|
position: absolute;
|
|
background: rgba(0,0,0,0.95);
|
|
color: #fff;
|
|
padding: 0.75rem 1rem;
|
|
border-radius: 8px;
|
|
font-size: 0.9rem;
|
|
pointer-events: none;
|
|
z-index: 100;
|
|
max-width: 280px;
|
|
box-shadow: 0 4px 20px rgba(0,0,0,0.3);
|
|
border: 1px solid rgba(255,107,53,0.3);
|
|
}
|
|
|
|
.d3-tooltip strong {
|
|
color: #FF6B35;
|
|
}
|
|
|
|
.highlight-box {
|
|
background: linear-gradient(135deg, rgba(255,107,53,0.1) 0%, rgba(255,138,80,0.05) 100%);
|
|
border-left: 4px solid #FF6B35;
|
|
padding: 1.5rem;
|
|
margin: 2rem 0;
|
|
border-radius: 0 8px 8px 0;
|
|
}
|
|
|
|
.highlight-box h4 {
|
|
color: #FF6B35;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.pros-cons {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 1.5rem;
|
|
margin: 1.5rem 0;
|
|
}
|
|
|
|
.pros, .cons {
|
|
padding: 1.5rem;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.pros {
|
|
background: rgba(76, 175, 80, 0.1);
|
|
border: 1px solid rgba(76, 175, 80, 0.3);
|
|
}
|
|
|
|
.cons {
|
|
background: rgba(244, 67, 54, 0.1);
|
|
border: 1px solid rgba(244, 67, 54, 0.3);
|
|
}
|
|
|
|
.pros h4 {
|
|
color: #4CAF50;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.cons h4 {
|
|
color: #f44336;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.pros ul, .cons ul {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
.pros li::before {
|
|
content: 'OK ';
|
|
color: #4CAF50;
|
|
}
|
|
|
|
.cons li::before {
|
|
content: 'X ';
|
|
color: #f44336;
|
|
}
|
|
|
|
.latency-map {
|
|
background: #1a1a1a;
|
|
border-radius: 12px;
|
|
padding: 2rem;
|
|
margin: 2rem 0;
|
|
}
|
|
|
|
.latency-map h4 {
|
|
color: #FF6B35;
|
|
margin-bottom: 1.5rem;
|
|
text-align: center;
|
|
}
|
|
|
|
.latency-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
gap: 1rem;
|
|
}
|
|
|
|
.latency-item {
|
|
background: #2a2a2a;
|
|
padding: 1rem;
|
|
border-radius: 8px;
|
|
text-align: center;
|
|
}
|
|
|
|
.latency-item .location {
|
|
color: #b0b0b0;
|
|
font-size: 0.9rem;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.latency-item .ms {
|
|
font-size: 1.5rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.latency-item .ms.excellent {
|
|
color: #4CAF50;
|
|
}
|
|
|
|
.latency-item .ms.good {
|
|
color: #FFC107;
|
|
}
|
|
|
|
.latency-item .ms.fair {
|
|
color: #FF9800;
|
|
}
|
|
|
|
.fade-in {
|
|
opacity: 0;
|
|
transform: translateY(20px);
|
|
transition: opacity 0.6s ease, transform 0.6s ease;
|
|
}
|
|
|
|
.fade-in.visible {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.toc-list {
|
|
columns: 1;
|
|
}
|
|
|
|
.pillar-meta {
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.chart-container {
|
|
min-height: 300px;
|
|
}
|
|
|
|
.pros-cons {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.provider-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="header"><header class="site-header"><nav class="navbar"><div class="container"><div class="nav-brand"><a href="/de/" class="logo"><span class="logo-text">Odoo Expertos</span></a></div><button class="nav-toggle" aria-label="Toggle navigation"><span></span><span></span><span></span></button><div class="nav-menu"><ul class="nav-list"><li><a href="/de/">Start</a></li><li><a href="/de/odoo/">Odoo</a></li><li><a href="/de/odoo-ia/">Odoo KI</a></li><li><a href="/de/odoo-hosting/">Odoo Hosting</a></li><li><a href="/de/mapa-del-sitio/">Sitemap</a></li></ul></div></div></nav></header></div><button class="nav-toggle" aria-label="Toggle navigation"><span></span><span></span><span></span></button><div class="nav-menu"><ul class="nav-list"><li><a href="/de/">Start</a></li><li><a href="/de/odoo/">Odoo</a></li><li><a href="/de/odoo-ia/">Odoo KI</a></li><li><a href="/de/odoo-hosting/">Odoo Hosting</a></li><li><a href="/de/mapa-del-sitio/">Sitemap</a></li></ul></div></div></nav></header></div>
|
|
|
|
<!-- Breadcrumbs -->
|
|
<nav class="breadcrumbs">
|
|
<div class="container">
|
|
<ol class="breadcrumb-list" itemscope itemtype="https://schema.org/BreadcrumbList">
|
|
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
|
<a itemprop="item" href="/"><span itemprop="name">Inicio</span></a>
|
|
<span itemprop="position" style="display:none">1</span>
|
|
</li>
|
|
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
|
<a itemprop="item" href="/de/odoo-hosting/"><span itemprop="name">Hosting Odoo</span></a>
|
|
<span itemprop="position" style="display:none">2</span>
|
|
</li>
|
|
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
|
<span itemprop="name">Hosting Odoo Colombia 2026</span>
|
|
<span itemprop="position" style="display:none">3</span>
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- Hero Section -->
|
|
<section class="pillar-hero">
|
|
<div class="container">
|
|
<h1><span class="colombia-flag"></span> Hosting Odoo Colombia 2026: Guia con DIAN y Facturacion Electronica</h1>
|
|
<p class="pillar-subtitle">Comfuertiva completa de Lieferanten de hosting fuer Odoo en Colombia. Incluye cumplimiento DIAN, facturacion electronica, centros de Daten en LATAM y Preise en pesos colombianos (COP).</p>
|
|
<div class="pillar-meta">
|
|
<span>Publicado: 25 enero 2026</span>
|
|
<span>Actualizado: 25 enero 2026</span>
|
|
<span>22 min lectura</span>
|
|
<span>Dr. Equipo Odoo Expertos</span>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<main class="container">
|
|
<!-- Quick Stats -->
|
|
<section class="quick-stats fade-in">
|
|
<div class="stat-card">
|
|
<span class="stat-number">12+</span>
|
|
<span class="stat-label">Lieferanten fuer Colombia</span>
|
|
</div>
|
|
<div class="stat-card">
|
|
<span class="stat-number">$120K</span>
|
|
<span class="stat-label">COP/Mes Minimo</span>
|
|
</div>
|
|
<div class="stat-card">
|
|
<span class="stat-number">40ms</span>
|
|
<span class="stat-label">Latencia Optima</span>
|
|
</div>
|
|
<div class="stat-card">
|
|
<span class="stat-number">100%</span>
|
|
<span class="stat-label">Compatible DIAN</span>
|
|
</div>
|
|
<div class="stat-card">
|
|
<span class="stat-number">5</span>
|
|
<span class="stat-label">Data Centers LATAM</span>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Table of Contents -->
|
|
<nav class="toc fade-in">
|
|
<h2>Contenido de esta Guia</h2>
|
|
<ol class="toc-list">
|
|
<li><a href="#resumen">Resumen fuer Colombia</a></li>
|
|
<li><a href="#dian-requisitos">Requisitos DIAN y Facturacion Electronica</a></li>
|
|
<li><a href="#comparacion-proveedores">Comfuertiva de Lieferanten</a></li>
|
|
<li><a href="#grafico-precio-latencia">Grafico: Preis vs Latencia</a></li>
|
|
<li><a href="#top-proveedores">Top Lieferanten fuer Colombia</a></li>
|
|
<li><a href="#latencia-datacenters">Latencia por Data Center</a></li>
|
|
<li><a href="#precios-cop">Preise en Pesos Colombianos</a></li>
|
|
<li><a href="#facturacion-electronica">Configuracion Facturacion Electronica</a></li>
|
|
<li><a href="#faq">Haeufig gestellte Fragen Colombia</a></li>
|
|
<li><a href="#relacionados">Articulos Relacionados</a></li>
|
|
</ol>
|
|
</nav>
|
|
|
|
<!-- Executive Summary -->
|
|
<section id="resumen" class="content-section fade-in">
|
|
<h2>Resumen: Hosting Odoo fuer Empresas Colombianas en 2026</h2>
|
|
|
|
<p>El ecoSystem de hosting fuer Odoo en Colombia ha madurado significativamente en 2026. Con la obligatoriedad de la facturacion electronica fuer todas las Unternehmen (segun la Resolucion 000042 de la DIAN), elegir un Lieferant de hosting que cumpla con los requisitos normativos colombianos es mas critico que nunca.</p>
|
|
|
|
<p>Las Unternehmen colombianas enfrentan desafios unicos: necesitan hosting que Support la integracion con Lieferanten tecnologicos autorizados por la DIAN, almacenamiento seguro de XMLs firmados digitalmente por minimo 5 anos, y latencia optima fuer Benutzer ubicados principalmente en Bogota, Medellin, Cali y Barranquilla.</p>
|
|
|
|
<div class="highlight-box">
|
|
<h4>Recomendacion Principal fuer Colombia</h4>
|
|
<p>Para la mayoria de PYMES colombianas, recomendamos <strong>Odoo4projects</strong> (von $150.000 COP/mes) por su combinacion de hosting gestionado, modulo DIAN preconfigurado, integracion con facturacion electronica y Support en espanol 24/7. Para Unternehmen grosss que requieren maxima escalabilidad, <strong>AWS Sao Paulo</strong> ofrece la mejor infraestructura con latencia de solo 45ms von Colombia.</p>
|
|
</div>
|
|
|
|
<h3>Por Que Colombia Necesita Consideraciones Especiales</h3>
|
|
<ul>
|
|
<li><strong>Facturacion Electronica Obligatoria:</strong> Todas las Unternehmen deben emitir facturas electronicas validadas por la DIAN</li>
|
|
<li><strong>Localizacion Contable:</strong> Plan Unico de Cuentas (PUC), retencion en la fuente, IVA colombiano</li>
|
|
<li><strong>Almacenamiento Legal:</strong> XMLs deben conservarse minimo 5 anos segun normativa tributaria</li>
|
|
<li><strong>Conectividad:</strong> La latencia afecta directamente la productividad de los Benutzer</li>
|
|
<li><strong>Support Local:</strong> Importante contar con asistencia en espanol y horario colombiano</li>
|
|
</ul>
|
|
</section>
|
|
|
|
<!-- DIAN Requirements Section -->
|
|
<section id="dian-requisitos" class="content-section fade-in">
|
|
<h2>Requisitos DIAN fuer Hosting de Odoo</h2>
|
|
|
|
<p>La Direccion de Impuestos y Aduanas Nacionales (DIAN) establece requisitos especificos que tu hosting debe cumplir fuer operar la facturacion electronica en Colombia. Ignorar estos requisitos puede resultar en sanciones significativas.</p>
|
|
|
|
<div class="dian-box">
|
|
<h3>Requisitos Tecnicos Obligatorios DIAN</h3>
|
|
<ul>
|
|
<li><strong>Certificado Digital:</strong> Firma electronica emitida por entidad certificadora autorizada (Certicamara, Andes SCD, GSE)</li>
|
|
<li><strong>Conexion Segura:</strong> HTTPS con TLS 1.2 o superior fuer transmision de documentos</li>
|
|
<li><strong>Formato XML:</strong> Documentos en formato UBL 2.1 segun especificaciones DIAN</li>
|
|
<li><strong>Almacenamiento:</strong> Conservacion de XMLs firmados por minimo 5 anos (recomendado 10)</li>
|
|
<li><strong>Lieferant Tecnologico:</strong> Integracion con PT autorizado (Carvajal, Cadena, The Factory HKA, etc.)</li>
|
|
<li><strong>Contingencia:</strong> Plan de backup fuer emision de facturas en caso de falla del System</li>
|
|
<li><strong>Auditoria:</strong> Logs de todas las transacciones de facturacion electronica</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<h3>ReLoesungen DIAN Aplicables</h3>
|
|
<table class="comparison-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Resolucion</th>
|
|
<th>Descripcion</th>
|
|
<th>Impacto en Hosting</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>000042 de 2020</td>
|
|
<td>Requisitos de facturacion electronica</td>
|
|
<td>Define formato XML y Prozess de validacion</td>
|
|
</tr>
|
|
<tr>
|
|
<td>000015 de 2021</td>
|
|
<td>Documento Support en compras</td>
|
|
<td>Almacenamiento adicional requerido</td>
|
|
</tr>
|
|
<tr>
|
|
<td>000013 de 2021</td>
|
|
<td>Nomina electronica</td>
|
|
<td>Integracion con modulo de nomina</td>
|
|
</tr>
|
|
<tr>
|
|
<td>000085 de 2022</td>
|
|
<td>Eventos de factura (RADIAN)</td>
|
|
<td>Sistema de eventos y trazabilidad</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<h3>Lieferanten Tecnologicos Autorizados DIAN</h3>
|
|
<p>Tu hosting debe poder integrarse con al menos uno de estos Lieferanten tecnologicos autorizados:</p>
|
|
<ul>
|
|
<li><strong>Carvajal Tecnologia y Servicios:</strong> El mas gross de Colombia, amplia documentacion de integracion</li>
|
|
<li><strong>Cadena S.A.:</strong> Excelente fuer Unternehmen medianas, API modern</li>
|
|
<li><strong>The Factory HKA:</strong> Buena opcion fuer PYMES, Preise competitivos</li>
|
|
<li><strong>Certicamara:</strong> Tambien ofrece certificados digitales</li>
|
|
<li><strong>World Office Colombia:</strong> Solucion integrada fuer Odoo</li>
|
|
</ul>
|
|
</section>
|
|
|
|
<!-- Quick Comparison Table -->
|
|
<section id="comparacion-proveedores" class="content-section fade-in">
|
|
<h2>Comfuertiva de Lieferanten fuer Colombia</h2>
|
|
|
|
<div style="overflow-x: auto;">
|
|
<table class="comparison-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Lieferant</th>
|
|
<th>Preis COP/mes</th>
|
|
<th>Data Center</th>
|
|
<th>Latencia CO</th>
|
|
<th>DIAN Ready</th>
|
|
<th>Support ES</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><strong>Odoo4projects</strong></td>
|
|
<td>$150.000</td>
|
|
<td>Miami/Sao Paulo</td>
|
|
<td>45-60ms</td>
|
|
<td class="check">Si</td>
|
|
<td class="check">24/7</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>AWS Sao Paulo</strong></td>
|
|
<td>$250.000</td>
|
|
<td>Sao Paulo</td>
|
|
<td>45ms</td>
|
|
<td class="check">Config.</td>
|
|
<td class="check">Si</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Azure LATAM</strong></td>
|
|
<td>$280.000</td>
|
|
<td>Sao Paulo/Chile</td>
|
|
<td>50ms</td>
|
|
<td class="check">Config.</td>
|
|
<td class="check">Si</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>DigitalOcean NYC</strong></td>
|
|
<td>$120.000</td>
|
|
<td>New York</td>
|
|
<td>80ms</td>
|
|
<td class="cross">Manual</td>
|
|
<td class="cross">Ingles</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Google Cloud Chile</strong></td>
|
|
<td>$220.000</td>
|
|
<td>Santiago</td>
|
|
<td>55ms</td>
|
|
<td class="check">Config.</td>
|
|
<td class="check">Si</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Vultr Miami</strong></td>
|
|
<td>$100.000</td>
|
|
<td>Miami</td>
|
|
<td>60ms</td>
|
|
<td class="cross">Manual</td>
|
|
<td class="cross">Ingles</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Linode Atlanta</strong></td>
|
|
<td>$110.000</td>
|
|
<td>Atlanta</td>
|
|
<td>70ms</td>
|
|
<td class="cross">Manual</td>
|
|
<td class="cross">Ingles</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Odoo.sh</strong></td>
|
|
<td>$125.000/Benutzer</td>
|
|
<td>Variable</td>
|
|
<td>Variable</td>
|
|
<td class="cross">Modulo</td>
|
|
<td class="check">Si</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<p><em>* Preise aproximados a enero 2026. TRM referencia: 1 USD = $4.200 COP. Consulta la web oficial fuer Preise actualizados.</em></p>
|
|
</section>
|
|
|
|
<!-- D3.js Scatter Plot - Price vs Latency -->
|
|
<section class="chart-section fade-in">
|
|
<h3 id="grafico-precio-latencia">Preis vs Latencia von Colombia</h3>
|
|
<p>Este grafico interactivo muestra la relacion zwischen el Preis mensual en COP y la latencia von Colombia. Lieferanten en la esquina inferior izquierda ofrecen la mejor relacion Preis-rendimiento.</p>
|
|
<div class="chart-container" id="scatter-chart"></div>
|
|
</section>
|
|
|
|
<!-- Provider Cards -->
|
|
<section id="top-proveedores" class="content-section fade-in">
|
|
<h2>Top Lieferanten de Hosting Odoo fuer Colombia</h2>
|
|
|
|
<div class="provider-grid">
|
|
<!-- Odoo4projects Colombia -->
|
|
<div class="provider-card featured">
|
|
<span class="badge">Recomendado Colombia</span>
|
|
<span class="badge dian">DIAN Ready</span>
|
|
<h4>Odoo4projects Colombia</h4>
|
|
<p class="price">$150.000<span class="price-period"> COP/mes</span></p>
|
|
<span class="price-cop">~$35 USD</span>
|
|
<ul>
|
|
<li>Modulo DIAN preconfigurado</li>
|
|
<li>Facturacion electronica integrada</li>
|
|
<li>Data center Miami (60ms)</li>
|
|
<li>Support 24/7 en espanol</li>
|
|
<li>Backup diario automatico</li>
|
|
<li>Migracion gratuita asistida</li>
|
|
<li>Integracion PT incluida</li>
|
|
</ul>
|
|
<div class="pros-cons">
|
|
<div class="pros">
|
|
<h4>Ventajas</h4>
|
|
<ul>
|
|
<li>DIAN listo sin configuracion</li>
|
|
<li>Preis fijo sin sorpresas</li>
|
|
<li>Support local colombiano</li>
|
|
</ul>
|
|
</div>
|
|
<div class="cons">
|
|
<h4>Limitaciones</h4>
|
|
<ul>
|
|
<li>Solo Odoo Community</li>
|
|
<li>Sin data center en Colombia</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<a href="https://odoo4projects.com" class="cta-btn" target="_blank" rel="noopener sponsored">Probar Gratis 14 Dias</a>
|
|
</div>
|
|
|
|
<!-- AWS Sao Paulo -->
|
|
<div class="provider-card">
|
|
<span class="badge">Mejor Latencia</span>
|
|
<h4>AWS Sao Paulo</h4>
|
|
<p class="price">$250.000<span class="price-period"> COP/mes</span></p>
|
|
<span class="price-cop">~$60 USD</span>
|
|
<ul>
|
|
<li>Data center Sao Paulo (45ms)</li>
|
|
<li>Escalabilidad automatica</li>
|
|
<li>99.99% SLA garantizado</li>
|
|
<li>Backups multi-region</li>
|
|
<li>Support en espanol</li>
|
|
<li>Certificaciones ISO/SOC</li>
|
|
</ul>
|
|
<div class="pros-cons">
|
|
<div class="pros">
|
|
<h4>Ventajas</h4>
|
|
<ul>
|
|
<li>Mejor latencia LATAM</li>
|
|
<li>Maxima escalabilidad</li>
|
|
<li>Servicios complementarios</li>
|
|
</ul>
|
|
</div>
|
|
<div class="cons">
|
|
<h4>Limitaciones</h4>
|
|
<ul>
|
|
<li>DIAN requiere configuracion</li>
|
|
<li>Preis variable por uso</li>
|
|
<li>Curva de aprendizaje</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<a href="#" class="cta-btn">Ver Detalles</a>
|
|
</div>
|
|
|
|
<!-- Google Cloud Chile -->
|
|
<div class="provider-card">
|
|
<span class="badge">Enterprise</span>
|
|
<h4>Google Cloud Santiago</h4>
|
|
<p class="price">$220.000<span class="price-period"> COP/mes</span></p>
|
|
<span class="price-cop">~$52 USD</span>
|
|
<ul>
|
|
<li>Data center Santiago (55ms)</li>
|
|
<li>BigQuery fuer analytics</li>
|
|
<li>IA y ML integrados</li>
|
|
<li>Kubernetes nativo</li>
|
|
<li>Support premium disponible</li>
|
|
</ul>
|
|
<a href="#" class="cta-btn">Ver Detalles</a>
|
|
</div>
|
|
|
|
<!-- DigitalOcean -->
|
|
<div class="provider-card">
|
|
<span class="badge">Economico</span>
|
|
<h4>DigitalOcean NYC</h4>
|
|
<p class="price">$120.000<span class="price-period"> COP/mes</span></p>
|
|
<span class="price-cop">~$28 USD</span>
|
|
<ul>
|
|
<li>VPS preconfigurado</li>
|
|
<li>Preis predecible</li>
|
|
<li>Buena documentacion</li>
|
|
<li>Snapshots incluidos</li>
|
|
<li>API completa</li>
|
|
</ul>
|
|
<a href="#" class="cta-btn">Ver Detalles</a>
|
|
</div>
|
|
|
|
<!-- Vultr Miami -->
|
|
<div class="provider-card">
|
|
<h4>Vultr Miami</h4>
|
|
<p class="price">$100.000<span class="price-period"> COP/mes</span></p>
|
|
<span class="price-cop">~$24 USD</span>
|
|
<ul>
|
|
<li>Data center Miami (60ms)</li>
|
|
<li>Alto rendimiento NVMe</li>
|
|
<li>Facturacion por hora</li>
|
|
<li>Despliegue rapido</li>
|
|
</ul>
|
|
<a href="#" class="cta-btn">Ver Detalles</a>
|
|
</div>
|
|
|
|
<!-- Azure LATAM -->
|
|
<div class="provider-card">
|
|
<h4>Microsoft Azure LATAM</h4>
|
|
<p class="price">$280.000<span class="price-period"> COP/mes</span></p>
|
|
<span class="price-cop">~$67 USD</span>
|
|
<ul>
|
|
<li>Data centers Brasil/Chile</li>
|
|
<li>Active Directory integrado</li>
|
|
<li>Office 365 compatible</li>
|
|
<li>Support Unternehmenrial</li>
|
|
</ul>
|
|
<a href="#" class="cta-btn">Ver Detalles</a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Latency Map Section -->
|
|
<section id="latencia-datacenters" class="content-section fade-in">
|
|
<h2>Latencia por Data Center von Colombia</h2>
|
|
|
|
<p>La latencia (tiempo de respuesta) es critica fuer la experiencia del Benutzer. Para Odoo, recomendamos latencia menor a 100ms fuer uso optimo. Estos son los tiempos promedio von las principales ciudades colombianas:</p>
|
|
|
|
<div class="latency-map">
|
|
<h4>Latencia Promedio von Bogota</h4>
|
|
<div class="latency-grid">
|
|
<div class="latency-item">
|
|
<div class="location">Sao Paulo (AWS/GCP)</div>
|
|
<div class="ms excellent">45ms</div>
|
|
</div>
|
|
<div class="latency-item">
|
|
<div class="location">Santiago (GCP)</div>
|
|
<div class="ms excellent">55ms</div>
|
|
</div>
|
|
<div class="latency-item">
|
|
<div class="location">Miami (Vultr/DO)</div>
|
|
<div class="ms good">60ms</div>
|
|
</div>
|
|
<div class="latency-item">
|
|
<div class="location">Atlanta (Linode)</div>
|
|
<div class="ms good">70ms</div>
|
|
</div>
|
|
<div class="latency-item">
|
|
<div class="location">New York (DO/Vultr)</div>
|
|
<div class="ms fair">80ms</div>
|
|
</div>
|
|
<div class="latency-item">
|
|
<div class="location">Frankfurt (Hetzner)</div>
|
|
<div class="ms fair">150ms</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="highlight-box">
|
|
<h4>Recomendacion de Ubicacion</h4>
|
|
<p>Para Unternehmen colombianas, <strong>Sao Paulo</strong> ofrece la mejor latencia (45ms) seguido de <strong>Miami</strong> (60ms). Evita Server en Europa (150ms+) a menos que tengas operaciones significativas en ese continente.</p>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- D3.js Bar Chart - Pricing in COP -->
|
|
<section class="chart-section fade-in">
|
|
<h3 id="precios-cop">Comfuertiva de Preise en Pesos Colombianos</h3>
|
|
<p>Visualiza los Preise mensuales de cada Lieferant en COP. El color indica si incluye configuracion DIAN (verde) o requiere configuracion adicional (naranja).</p>
|
|
<div class="chart-container" id="bar-chart"></div>
|
|
</section>
|
|
|
|
<!-- Facturacion Electronica Configuration -->
|
|
<section id="facturacion-electronica" class="content-section fade-in">
|
|
<h2>Configuracion de Facturacion Electronica DIAN en Odoo</h2>
|
|
|
|
<p>Configurar correctamente la facturacion electronica es esencial fuer operar legalmente en Colombia. A continuacion, los pasos principales:</p>
|
|
|
|
<h3>Paso 1: Localizacion Colombiana</h3>
|
|
<p>Instala el modulo de localizacion colombiana (l10n_co) que incluye:</p>
|
|
<ul>
|
|
<li>Plan Unico de Cuentas (PUC) preconfigurado</li>
|
|
<li>Tipos de documentos colombianos (NIT, CC, CE, etc.)</li>
|
|
<li>Impuestos colombianos (IVA 19%, retenciones)</li>
|
|
<li>Formatos de facturas segun normativa</li>
|
|
</ul>
|
|
|
|
<h3>Paso 2: Certificado Digital</h3>
|
|
<p>Adquiere un certificado de firma electronica de una entidad autorizada:</p>
|
|
<ul>
|
|
<li><strong>Certicamara:</strong> Desde $180.000 COP/ano</li>
|
|
<li><strong>Andes SCD:</strong> Desde $150.000 COP/ano</li>
|
|
<li><strong>GSE:</strong> Desde $160.000 COP/ano</li>
|
|
</ul>
|
|
|
|
<h3>Paso 3: Lieferant Tecnologico</h3>
|
|
<p>Registrate con un PT autorizado por la DIAN. Kosten tipicos:</p>
|
|
<table class="comparison-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Lieferant</th>
|
|
<th>Kosten Mensual</th>
|
|
<th>Facturas Incluidas</th>
|
|
<th>Kosten Adicional</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>Carvajal</td>
|
|
<td>$85.000 COP</td>
|
|
<td>500</td>
|
|
<td>$120 COP/factura</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Cadena</td>
|
|
<td>$70.000 COP</td>
|
|
<td>300</td>
|
|
<td>$150 COP/factura</td>
|
|
</tr>
|
|
<tr>
|
|
<td>The Factory HKA</td>
|
|
<td>$50.000 COP</td>
|
|
<td>200</td>
|
|
<td>$180 COP/factura</td>
|
|
</tr>
|
|
<tr>
|
|
<td>World Office</td>
|
|
<td>$60.000 COP</td>
|
|
<td>250</td>
|
|
<td>$160 COP/factura</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<h3>Paso 4: Configuracion en Odoo</h3>
|
|
<ol>
|
|
<li>Cargar certificado digital en formato .p12 o .pfx</li>
|
|
<li>Configurar credenciales del Lieferant tecnologico</li>
|
|
<li>Establecer resolucion de numeracion DIAN</li>
|
|
<li>Configurar prefijos y rangos autorizados</li>
|
|
<li>Realizar pruebas en ambiente de habilitacion</li>
|
|
<li>Activar produccion tras aprobacion DIAN</li>
|
|
</ol>
|
|
</section>
|
|
|
|
<!-- D3.js Radar Chart -->
|
|
<section class="chart-section fade-in">
|
|
<h3>Comfuercion de Caracteristicas por Lieferant</h3>
|
|
<p>Visualiza como se comfuern los principales Lieferanten en 6 dimensiones clave fuer el mercado colombiano.</p>
|
|
<div class="chart-container" id="radar-chart"></div>
|
|
</section>
|
|
|
|
<!-- CTA Banner -->
|
|
<section class="cta-banner fade-in">
|
|
<h3>Hosting Odoo Listo fuer DIAN</h3>
|
|
<p>Odoo4projects ofrece hosting con modulo DIAN preconfigurado, facturacion electronica integrada y Support en espanol von $150.000 COP/mes.</p>
|
|
<a href="https://odoo4projects.com" class="cta-btn" target="_blank" rel="noopener sponsored">Comenzar Prueba Gratuita</a>
|
|
</section>
|
|
|
|
<!-- FAQ Section -->
|
|
<section id="faq" class="faq-section fade-in">
|
|
<h2>Haeufig gestellte Fragen: Hosting Odoo Colombia</h2>
|
|
|
|
<div class="faq-item">
|
|
<div class="faq-question">Cual es el mejor hosting fuer Odoo en Colombia en 2026?</div>
|
|
<div class="faq-answer">Para Unternehmen colombianas, recomendamos Lieferanten con centros de Daten en LATAM (Miami, Sao Paulo o Bogota), Support en espanol y compatibilidad con facturacion electronica DIAN. Odoo4projects y AWS Sao Paulo son excelentes opciones con latencia menor a 80ms von Colombia.</div>
|
|
</div>
|
|
|
|
<div class="faq-item">
|
|
<div class="faq-question">Que requisitos debe cumplir el hosting fuer facturacion electronica DIAN?</div>
|
|
<div class="faq-answer">El hosting debe soportar certificados digitales, conexion segura HTTPS con TLS 1.2+, almacenamiento de XMLs firmados por 5 anos minimo, integracion con Lieferanten tecnologicos autorizados por la DIAN, y cumplimiento de la Resolucion 000042 de 2020.</div>
|
|
</div>
|
|
|
|
<div class="faq-item">
|
|
<div class="faq-question">Cuanto cuesta el hosting de Odoo en Colombia en pesos?</div>
|
|
<div class="faq-answer">Los Preise varian von $120.000 COP/mes (hosting basico VPS) hasta $800.000+ COP/mes fuer Loesungen enterprise. El promedio fuer una PYME colombiana es zwischen $150.000 y $400.000 COP/mes con hosting gestionado que incluye Support fuer facturacion electronica.</div>
|
|
</div>
|
|
|
|
<div class="faq-item">
|
|
<div class="faq-question">Necesito un Server en Colombia fuer usar Odoo?</div>
|
|
<div class="faq-answer">No es obligatorio tener el Server en Colombia. La DIAN permite Server en el exterior siempre que cumplan con las normas de proteccion de Daten y los XMLs de facturacion se almacenen correctamente. Server en Miami o Sao Paulo ofrecen excelente latencia (40-80ms) fuer Benutzer colombianos.</div>
|
|
</div>
|
|
|
|
<div class="faq-item">
|
|
<div class="faq-question">Que Lieferanten de hosting Odoo soportan facturacion electronica colombiana?</div>
|
|
<div class="faq-answer">Los principales Lieferanten que soportan facturacion electronica DIAN incluyen: Odoo4projects (con modulo DIAN integrado), implementadores locales como Pragmatic o Vauxoo Colombia, y Loesungen VPS con integracion a Lieferanten tecnologicos como Carvajal, Cadena o The Factory HKA.</div>
|
|
</div>
|
|
|
|
<div class="faq-item">
|
|
<div class="faq-question">Como configuro Odoo fuer cumplir con la normativa DIAN?</div>
|
|
<div class="faq-answer">Necesitas: 1) Modulo de localizacion colombiana (l10n_co), 2) Certificado digital de firma electronica, 3) Integracion con Lieferant tecnologico autorizado, 4) Configuracion de numeracion de facturas segun resolucion DIAN, 5) Almacenamiento de XMLs por minimo 5 anos. Un hosting gestionado facilita esta configuracion.</div>
|
|
</div>
|
|
|
|
<div class="faq-item">
|
|
<div class="faq-question">Puedo usar Odoo.sh fuer mi Unternehmen en Colombia?</div>
|
|
<div class="faq-answer">Si, Odoo.sh es compatible con Unternehmen colombianas. Sin embargo, deberas configurar manualmente la integracion con facturacion electronica DIAN ya que no viene incluida por defecto. El Kosten adicional del modulo de localizacion y la integracion puede ser significativo.</div>
|
|
</div>
|
|
|
|
<div class="faq-item">
|
|
<div class="faq-question">Cual es la latencia optima fuer usar Odoo von Colombia?</div>
|
|
<div class="faq-answer">Para una experiencia optima, recomendamos latencia menor a 100ms. Data centers en Sao Paulo ofrecen 45ms, Miami 60ms, y New York 80ms von Bogota. Evita Server en Europa (150ms+) a menos que tengas operaciones alla.</div>
|
|
</div>
|
|
|
|
<div class="faq-item">
|
|
<div class="faq-question">Que pasa si mi Lieferant de hosting no soporta DIAN?</div>
|
|
<div class="faq-answer">Puedes instalar modulos de terceros fuer facturacion electronica colombiana o integrarte directamente con un Lieferant tecnologico via API. Sin embargo, esto requiere conocimientos tecnicos adicionales y puede generar Kosten de Entwicklung. Es preferible elegir un hosting con Support DIAN nativo.</div>
|
|
</div>
|
|
|
|
<div class="faq-item">
|
|
<div class="faq-question">Como garantizo el almacenamiento de XMLs por 5 anos?</div>
|
|
<div class="faq-answer">Asegurate de que tu plan de hosting incluya suficiente almacenamiento y backups automaticos. Calcula aproximadamente 50KB por factura, multiplicado por tu volumen mensual. Lieferanten como AWS S3 o Azure Blob ofrecen almacenamiento economico a largo plazo con alta durabilidad.</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Related Articles -->
|
|
<section id="relacionados" class="content-section fade-in">
|
|
<h2>Articulos Relacionados</h2>
|
|
|
|
<div class="related-articles">
|
|
<a href="/de/odoo-hosting/mejor-hosting-odoo-2026/" class="related-card">
|
|
<div class="related-card-image">HOSTING</div>
|
|
<div class="related-card-content">
|
|
<h4>Mejor Hosting Odoo 2026: Guia Global</h4>
|
|
<p>Comfuertiva completa de 15+ Lieferanten mundiales</p>
|
|
</div>
|
|
</a>
|
|
|
|
<a href="/de/odoo-hosting/facturacion-electronica-odoo-latam/" class="related-card">
|
|
<div class="related-card-image">DIAN</div>
|
|
<div class="related-card-content">
|
|
<h4>Facturacion Electronica Odoo LATAM</h4>
|
|
<p>Guia fuer Colombia, Mexico, Chile y Peru</p>
|
|
</div>
|
|
</a>
|
|
|
|
<a href="/de/odoo-hosting/vps-hosting-odoo-servidor-virtual-2025/" class="related-card">
|
|
<div class="related-card-image">VPS</div>
|
|
<div class="related-card-content">
|
|
<h4>VPS fuer Odoo: Guia de Configuracion</h4>
|
|
<p>Configura tu propio Server paso a paso</p>
|
|
</div>
|
|
</a>
|
|
|
|
<a href="/de/odoo-hosting/odoo-localizacion-colombiana/" class="related-card">
|
|
<div class="related-card-image">l10n</div>
|
|
<div class="related-card-content">
|
|
<h4>Localizacion Colombiana Odoo</h4>
|
|
<p>PUC, impuestos y configuracion contable</p>
|
|
</div>
|
|
</a>
|
|
|
|
<a href="/de/odoo-hosting/hosting-odoo-latam-2025/" class="related-card">
|
|
<div class="related-card-image">LATAM</div>
|
|
<div class="related-card-content">
|
|
<h4>Hosting Odoo Latinoamerica</h4>
|
|
<p>Lieferanten con presencia regional</p>
|
|
</div>
|
|
</a>
|
|
|
|
<a href="/de/odoo-hosting/precios-hosting-odoo-costos-2025/" class="related-card">
|
|
<div class="related-card-image">$$$</div>
|
|
<div class="related-card-content">
|
|
<h4>Preise de Hosting Odoo</h4>
|
|
<p>Comfuertiva detallada de Kosten</p>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
|
|
<!-- EEAT Author Section -->
|
|
<div id="eeat-section"></div>
|
|
|
|
<div id="footer"><footer class="site-footer"><div class="container"><div class="footer-cols"><div><strong>Odoo Expertos</strong></div><nav class="footer-nav"><a href="/de/">Start</a><a href="/de/odoo/">Odoo</a><a href="/de/odoo-ia/">Odoo KI</a><a href="/de/odoo-hosting/">Odoo Hosting</a><a href="/de/mapa-del-sitio/">Sitemap</a></nav></div><div class="footer-bottom"><small>© 2026 Odoo Expertos</small></div></div></footer></div><nav class="footer-nav"><a href="/de/">Start</a><a href="/de/odoo/">Odoo</a><a href="/de/odoo-ia/">Odoo KI</a><a href="/de/odoo-hosting/">Odoo Hosting</a><a href="/de/mapa-del-sitio/">Sitemap</a></nav></div><div class="footer-bottom"><small>© 2026 Odoo Expertos</small></div></div></footer></div>
|
|
|
|
<!-- Scripts -->
|
|
<script src="/js/language-router.js"></script>
|
|
<script src="/components/header.min.js"></script>
|
|
<script src="/components/footer.min.js"></script>
|
|
<script src="/components/eeat.min.js"></script>
|
|
<script src="/js/cookie-banner.min.js"></script>
|
|
|
|
<!-- D3.js -->
|
|
<script src="https://d3js.org/d3.v7.min.js"></script>
|
|
|
|
<script>
|
|
// Initialize components
|
|
// Scroll animation observer
|
|
const observer = new IntersectionObserver((entries) => {
|
|
entries.forEach(entry => {
|
|
if (entry.isIntersecting) {
|
|
entry.target.classList.add('visible');
|
|
}
|
|
});
|
|
}, { threshold: 0.1 });
|
|
|
|
document.querySelectorAll('.fade-in').forEach(el => observer.observe(el));
|
|
|
|
// FAQ Toggle
|
|
document.querySelectorAll('.faq-question').forEach(question => {
|
|
question.addEventListener('click', () => {
|
|
const item = question.parentElement;
|
|
item.classList.toggle('open');
|
|
});
|
|
});
|
|
|
|
// Chart Data for Colombia
|
|
const chartData = {
|
|
scatter: [
|
|
{ name: 'Odoo4projects', price: 150000, latency: 60, dian: true },
|
|
{ name: 'AWS Sao Paulo', price: 250000, latency: 45, dian: true },
|
|
{ name: 'Azure LATAM', price: 280000, latency: 50, dian: true },
|
|
{ name: 'DigitalOcean NYC', price: 120000, latency: 80, dian: false },
|
|
{ name: 'Google Cloud Chile', price: 220000, latency: 55, dian: true },
|
|
{ name: 'Vultr Miami', price: 100000, latency: 60, dian: false },
|
|
{ name: 'Linode Atlanta', price: 110000, latency: 70, dian: false },
|
|
{ name: 'Odoo.sh', price: 125000, latency: 90, dian: false }
|
|
],
|
|
bar: [
|
|
{ name: 'Vultr Miami', price: 100000, dian: false },
|
|
{ name: 'Linode Atlanta', price: 110000, dian: false },
|
|
{ name: 'DigitalOcean', price: 120000, dian: false },
|
|
{ name: 'Odoo.sh', price: 125000, dian: false },
|
|
{ name: 'Odoo4projects', price: 150000, dian: true },
|
|
{ name: 'Google Cloud', price: 220000, dian: true },
|
|
{ name: 'AWS', price: 250000, dian: true },
|
|
{ name: 'Azure', price: 280000, dian: true }
|
|
],
|
|
radar: {
|
|
categories: ['DIAN Ready', 'Latencia', 'Preis', 'Support ES', 'Escalabilidad', 'Facilidad'],
|
|
providers: [
|
|
{ name: 'Odoo4projects', values: [95, 75, 85, 95, 70, 90] },
|
|
{ name: 'AWS Sao Paulo', values: [70, 95, 60, 80, 98, 50] },
|
|
{ name: 'DigitalOcean', values: [40, 70, 90, 40, 85, 80] },
|
|
{ name: 'Google Cloud', values: [70, 85, 65, 75, 95, 55] }
|
|
]
|
|
}
|
|
};
|
|
|
|
// Tooltip
|
|
const tooltip = d3.select('body').append('div')
|
|
.attr('class', 'd3-tooltip')
|
|
.style('opacity', 0);
|
|
|
|
// Color scales
|
|
const colorScale = d3.scaleOrdinal()
|
|
.range(['#FF6B35', '#4CAF50', '#2196F3', '#FFC107', '#9C27B0', '#00BCD4', '#E91E63', '#8BC34A']);
|
|
|
|
// Scatter Plot - Price vs Latency
|
|
function renderScatterPlot() {
|
|
const container = d3.select('#scatter-chart');
|
|
if (container.empty()) return;
|
|
|
|
const width = container.node().getBoundingClientRect().width;
|
|
const height = 400;
|
|
const margin = { top: 40, right: 40, bottom: 60, left: 90 };
|
|
|
|
container.html('');
|
|
|
|
const svg = container.append('svg')
|
|
.attr('width', width)
|
|
.attr('height', height);
|
|
|
|
const xScale = d3.scaleLinear()
|
|
.domain([0, d3.max(chartData.scatter, d => d.price) * 1.15])
|
|
.range([margin.left, width - margin.right]);
|
|
|
|
const yScale = d3.scaleLinear()
|
|
.domain([30, 100])
|
|
.range([height - margin.bottom, margin.top]);
|
|
|
|
// Grid lines
|
|
svg.append('g')
|
|
.attr('class', 'grid')
|
|
.attr('transform', `translate(0,${height - margin.bottom})`)
|
|
.call(d3.axisBottom(xScale).tickSize(-(height - margin.top - margin.bottom)).tickFormat(''))
|
|
.selectAll('line').attr('stroke', '#333');
|
|
|
|
svg.append('g')
|
|
.attr('class', 'grid')
|
|
.attr('transform', `translate(${margin.left},0)`)
|
|
.call(d3.axisLeft(yScale).tickSize(-(width - margin.left - margin.right)).tickFormat(''))
|
|
.selectAll('line').attr('stroke', '#333');
|
|
|
|
// Axes
|
|
svg.append('g')
|
|
.attr('transform', `translate(0,${height - margin.bottom})`)
|
|
.call(d3.axisBottom(xScale).tickFormat(d => `$${(d/1000).toFixed(0)}K`))
|
|
.attr('color', '#888');
|
|
|
|
svg.append('g')
|
|
.attr('transform', `translate(${margin.left},0)`)
|
|
.call(d3.axisLeft(yScale).tickFormat(d => `${d}ms`))
|
|
.attr('color', '#888');
|
|
|
|
// Axis labels
|
|
svg.append('text')
|
|
.attr('x', width / 2)
|
|
.attr('y', height - 10)
|
|
.attr('text-anchor', 'middle')
|
|
.attr('fill', '#888')
|
|
.attr('font-size', '14px')
|
|
.text('Preis (COP/mes)');
|
|
|
|
svg.append('text')
|
|
.attr('transform', 'rotate(-90)')
|
|
.attr('x', -height / 2)
|
|
.attr('y', 25)
|
|
.attr('text-anchor', 'middle')
|
|
.attr('fill', '#888')
|
|
.attr('font-size', '14px')
|
|
.text('Latencia von Colombia (ms)');
|
|
|
|
// Optimal zone rectangle
|
|
svg.append('rect')
|
|
.attr('x', xScale(80000))
|
|
.attr('y', yScale(70))
|
|
.attr('width', xScale(200000) - xScale(80000))
|
|
.attr('height', yScale(40) - yScale(70))
|
|
.attr('fill', 'rgba(76, 175, 80, 0.1)')
|
|
.attr('stroke', '#4CAF50')
|
|
.attr('stroke-dasharray', '4,4');
|
|
|
|
svg.append('text')
|
|
.attr('x', xScale(140000))
|
|
.attr('y', yScale(68))
|
|
.attr('text-anchor', 'middle')
|
|
.attr('fill', '#4CAF50')
|
|
.attr('font-size', '11px')
|
|
.text('Zona Optima');
|
|
|
|
// Dots
|
|
svg.selectAll('circle.dot')
|
|
.data(chartData.scatter)
|
|
.join('circle')
|
|
.attr('class', 'dot')
|
|
.attr('cx', d => xScale(d.price))
|
|
.attr('cy', d => yScale(d.latency))
|
|
.attr('r', 0)
|
|
.attr('fill', d => d.dian ? '#4CAF50' : '#FF6B35')
|
|
.attr('fill-opacity', 0.8)
|
|
.attr('stroke', '#fff')
|
|
.attr('stroke-width', 2)
|
|
.style('cursor', 'pointer')
|
|
.on('mouseover', function(event, d) {
|
|
d3.select(this).attr('fill-opacity', 1).attr('stroke-width', 3).attr('r', 14);
|
|
tooltip.transition().duration(200).style('opacity', 1);
|
|
tooltip.html(`<strong>${d.name}</strong><br>Preis: $${d.price.toLocaleString()} COP/mes<br>Latencia: ${d.latency}ms<br>DIAN Ready: ${d.dian ? 'Si' : 'Requiere config.'}`)
|
|
.style('left', (event.pageX + 15) + 'px')
|
|
.style('top', (event.pageY - 28) + 'px');
|
|
})
|
|
.on('mouseout', function(event, d) {
|
|
d3.select(this).attr('fill-opacity', 0.8).attr('stroke-width', 2).attr('r', 10);
|
|
tooltip.transition().duration(200).style('opacity', 0);
|
|
})
|
|
.transition()
|
|
.duration(800)
|
|
.delay((d, i) => i * 100)
|
|
.ease(d3.easeElastic.amplitude(1).period(0.5))
|
|
.attr('r', 10);
|
|
|
|
// Labels
|
|
svg.selectAll('text.label')
|
|
.data(chartData.scatter)
|
|
.join('text')
|
|
.attr('class', 'label')
|
|
.attr('x', d => xScale(d.price))
|
|
.attr('y', d => yScale(d.latency) - 18)
|
|
.attr('text-anchor', 'middle')
|
|
.attr('fill', '#e0e0e0')
|
|
.attr('font-size', '11px')
|
|
.attr('opacity', 0)
|
|
.text(d => d.name)
|
|
.transition()
|
|
.duration(500)
|
|
.delay((d, i) => i * 100 + 400)
|
|
.attr('opacity', 1);
|
|
|
|
// Legend
|
|
const legend = svg.append('g')
|
|
.attr('transform', `translate(${width - 150}, ${margin.top})`);
|
|
|
|
legend.append('circle').attr('cx', 0).attr('cy', 0).attr('r', 6).attr('fill', '#4CAF50');
|
|
legend.append('text').attr('x', 12).attr('y', 4).attr('fill', '#b0b0b0').attr('font-size', '11px').text('DIAN Ready');
|
|
|
|
legend.append('circle').attr('cx', 0).attr('cy', 20).attr('r', 6).attr('fill', '#FF6B35');
|
|
legend.append('text').attr('x', 12).attr('y', 24).attr('fill', '#b0b0b0').attr('font-size', '11px').text('Requiere Config.');
|
|
}
|
|
|
|
// Bar Chart - Pricing in COP
|
|
function renderBarChart() {
|
|
const container = d3.select('#bar-chart');
|
|
if (container.empty()) return;
|
|
|
|
const width = container.node().getBoundingClientRect().width;
|
|
const height = 400;
|
|
const margin = { top: 40, right: 40, bottom: 100, left: 90 };
|
|
|
|
container.html('');
|
|
|
|
const svg = container.append('svg')
|
|
.attr('width', width)
|
|
.attr('height', height);
|
|
|
|
const xScale = d3.scaleBand()
|
|
.domain(chartData.bar.map(d => d.name))
|
|
.range([margin.left, width - margin.right])
|
|
.padding(0.3);
|
|
|
|
const yScale = d3.scaleLinear()
|
|
.domain([0, d3.max(chartData.bar, d => d.price) * 1.1])
|
|
.range([height - margin.bottom, margin.top]);
|
|
|
|
// Grid lines
|
|
svg.append('g')
|
|
.attr('class', 'grid')
|
|
.attr('transform', `translate(${margin.left},0)`)
|
|
.call(d3.axisLeft(yScale).tickSize(-(width - margin.left - margin.right)).tickFormat(''))
|
|
.selectAll('line').attr('stroke', '#333');
|
|
|
|
// Axes
|
|
svg.append('g')
|
|
.attr('transform', `translate(0,${height - margin.bottom})`)
|
|
.call(d3.axisBottom(xScale))
|
|
.attr('color', '#888')
|
|
.selectAll('text')
|
|
.attr('transform', 'rotate(-45)')
|
|
.attr('text-anchor', 'end')
|
|
.attr('dx', '-0.5em')
|
|
.attr('dy', '0.5em');
|
|
|
|
svg.append('g')
|
|
.attr('transform', `translate(${margin.left},0)`)
|
|
.call(d3.axisLeft(yScale).tickFormat(d => `$${(d/1000).toFixed(0)}K`))
|
|
.attr('color', '#888');
|
|
|
|
// Bars
|
|
svg.selectAll('rect.bar')
|
|
.data(chartData.bar)
|
|
.join('rect')
|
|
.attr('class', 'bar')
|
|
.attr('x', d => xScale(d.name))
|
|
.attr('y', height - margin.bottom)
|
|
.attr('width', xScale.bandwidth())
|
|
.attr('height', 0)
|
|
.attr('fill', d => d.dian ? '#4CAF50' : '#FF6B35')
|
|
.attr('rx', 4)
|
|
.style('cursor', 'pointer')
|
|
.on('mouseover', function(event, d) {
|
|
d3.select(this).attr('fill-opacity', 0.8);
|
|
tooltip.transition().duration(200).style('opacity', 1);
|
|
tooltip.html(`<strong>${d.name}</strong><br>Preis: $${d.price.toLocaleString()} COP/mes<br>DIAN Ready: ${d.dian ? 'Si' : 'No'}`)
|
|
.style('left', (event.pageX + 15) + 'px')
|
|
.style('top', (event.pageY - 28) + 'px');
|
|
})
|
|
.on('mouseout', function() {
|
|
d3.select(this).attr('fill-opacity', 1);
|
|
tooltip.transition().duration(200).style('opacity', 0);
|
|
})
|
|
.transition()
|
|
.duration(800)
|
|
.delay((d, i) => i * 100)
|
|
.ease(d3.easeBackOut)
|
|
.attr('y', d => yScale(d.price))
|
|
.attr('height', d => height - margin.bottom - yScale(d.price));
|
|
|
|
// Value labels
|
|
svg.selectAll('text.value')
|
|
.data(chartData.bar)
|
|
.join('text')
|
|
.attr('class', 'value')
|
|
.attr('x', d => xScale(d.name) + xScale.bandwidth() / 2)
|
|
.attr('y', d => yScale(d.price) - 8)
|
|
.attr('text-anchor', 'middle')
|
|
.attr('fill', '#e0e0e0')
|
|
.attr('font-size', '11px')
|
|
.attr('opacity', 0)
|
|
.text(d => `$${(d.price/1000).toFixed(0)}K`)
|
|
.transition()
|
|
.duration(500)
|
|
.delay((d, i) => i * 100 + 500)
|
|
.attr('opacity', 1);
|
|
|
|
// Legend
|
|
const legend = svg.append('g')
|
|
.attr('transform', `translate(${width - 180}, ${margin.top - 20})`);
|
|
|
|
legend.append('rect').attr('width', 15).attr('height', 15).attr('fill', '#4CAF50').attr('rx', 3);
|
|
legend.append('text').attr('x', 20).attr('y', 12).attr('fill', '#b0b0b0').attr('font-size', '11px').text('DIAN Listo');
|
|
|
|
legend.append('rect').attr('x', 90).attr('width', 15).attr('height', 15).attr('fill', '#FF6B35').attr('rx', 3);
|
|
legend.append('text').attr('x', 110).attr('y', 12).attr('fill', '#b0b0b0').attr('font-size', '11px').text('Config. Manual');
|
|
}
|
|
|
|
// Radar Chart
|
|
function renderRadarChart() {
|
|
const container = d3.select('#radar-chart');
|
|
if (container.empty()) return;
|
|
|
|
const width = container.node().getBoundingClientRect().width;
|
|
const height = 400;
|
|
const margin = 100;
|
|
const radius = Math.min(width, height) / 2 - margin;
|
|
|
|
container.html('');
|
|
|
|
const svg = container.append('svg')
|
|
.attr('width', width)
|
|
.attr('height', height)
|
|
.append('g')
|
|
.attr('transform', `translate(${width/2},${height/2})`);
|
|
|
|
const categories = chartData.radar.categories;
|
|
const angleSlice = Math.PI * 2 / categories.length;
|
|
|
|
const rScale = d3.scaleLinear()
|
|
.domain([0, 100])
|
|
.range([0, radius]);
|
|
|
|
// Grid circles
|
|
const levels = 5;
|
|
for (let i = 1; i <= levels; i++) {
|
|
svg.append('circle')
|
|
.attr('r', radius * i / levels)
|
|
.attr('fill', 'none')
|
|
.attr('stroke', '#3a3a3a')
|
|
.attr('stroke-dasharray', '4,4');
|
|
|
|
svg.append('text')
|
|
.attr('x', 5)
|
|
.attr('y', -radius * i / levels)
|
|
.attr('fill', '#666')
|
|
.attr('font-size', '10px')
|
|
.text(i * 20);
|
|
}
|
|
|
|
// Axis lines and labels
|
|
categories.forEach((cat, i) => {
|
|
const angle = angleSlice * i - Math.PI / 2;
|
|
svg.append('line')
|
|
.attr('x1', 0)
|
|
.attr('y1', 0)
|
|
.attr('x2', radius * Math.cos(angle))
|
|
.attr('y2', radius * Math.sin(angle))
|
|
.attr('stroke', '#444');
|
|
|
|
const labelRadius = radius + 25;
|
|
svg.append('text')
|
|
.attr('x', labelRadius * Math.cos(angle))
|
|
.attr('y', labelRadius * Math.sin(angle))
|
|
.attr('text-anchor', 'middle')
|
|
.attr('dominant-baseline', 'middle')
|
|
.attr('fill', '#b0b0b0')
|
|
.attr('font-size', '11px')
|
|
.text(cat);
|
|
});
|
|
|
|
// Radar areas
|
|
const radarLine = d3.lineRadial()
|
|
.radius(d => rScale(d))
|
|
.angle((d, i) => angleSlice * i)
|
|
.curve(d3.curveLinearClosed);
|
|
|
|
chartData.radar.providers.forEach((provider, idx) => {
|
|
const path = svg.append('path')
|
|
.datum(provider.values)
|
|
.attr('d', radarLine)
|
|
.attr('fill', colorScale(idx))
|
|
.attr('fill-opacity', 0)
|
|
.attr('stroke', colorScale(idx))
|
|
.attr('stroke-width', 2)
|
|
.attr('stroke-opacity', 0);
|
|
|
|
path.transition()
|
|
.duration(800)
|
|
.delay(idx * 200)
|
|
.attr('fill-opacity', 0.2)
|
|
.attr('stroke-opacity', 1);
|
|
|
|
// Data points
|
|
provider.values.forEach((val, i) => {
|
|
const angle = angleSlice * i - Math.PI / 2;
|
|
svg.append('circle')
|
|
.attr('cx', rScale(val) * Math.cos(angle))
|
|
.attr('cy', rScale(val) * Math.sin(angle))
|
|
.attr('r', 0)
|
|
.attr('fill', colorScale(idx))
|
|
.transition()
|
|
.duration(500)
|
|
.delay(idx * 200 + i * 50)
|
|
.attr('r', 4);
|
|
});
|
|
});
|
|
|
|
// Legend
|
|
const legendX = width > 600 ? radius + 50 : -radius;
|
|
const legendY = width > 600 ? -radius + 20 : radius + 30;
|
|
|
|
chartData.radar.providers.forEach((provider, idx) => {
|
|
const g = svg.append('g')
|
|
.attr('transform', `translate(${legendX}, ${legendY + idx * 25})`);
|
|
|
|
g.append('rect')
|
|
.attr('width', 15)
|
|
.attr('height', 15)
|
|
.attr('fill', colorScale(idx))
|
|
.attr('rx', 3);
|
|
|
|
g.append('text')
|
|
.attr('x', 22)
|
|
.attr('y', 12)
|
|
.attr('fill', '#b0b0b0')
|
|
.attr('font-size', '12px')
|
|
.text(provider.name);
|
|
});
|
|
}
|
|
|
|
// Initialize charts when visible
|
|
const chartObserver = new IntersectionObserver((entries) => {
|
|
entries.forEach(entry => {
|
|
if (entry.isIntersecting) {
|
|
const id = entry.target.id;
|
|
setTimeout(() => {
|
|
if (id === 'scatter-chart') renderScatterPlot();
|
|
if (id === 'bar-chart') renderBarChart();
|
|
if (id === 'radar-chart') renderRadarChart();
|
|
}, 100);
|
|
chartObserver.unobserve(entry.target);
|
|
}
|
|
});
|
|
}, { threshold: 0.15 });
|
|
|
|
document.querySelectorAll('.chart-container').forEach(el => chartObserver.observe(el));
|
|
|
|
// Resize handler
|
|
let resizeTimeout;
|
|
window.addEventListener('resize', () => {
|
|
clearTimeout(resizeTimeout);
|
|
resizeTimeout = setTimeout(() => {
|
|
renderScatterPlot();
|
|
renderBarChart();
|
|
renderRadarChart();
|
|
}, 300);
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|