Expédition de charbon de bois pour shisha – Livraison mondiale de briquettes de charbon de bois de coco de première qualité en provenance directe de l’usine

Rapide, fiable, garanti et assuré
Expédition de charbon de bois entièrement certifié
de l’Indonésie vers plus de 50 pays

Nous nous occupons de toute la logistique d’exportation, de la documentation et de l’assurance maritime afin de garantir que votre charbon de bois pour chicha arrive en toute sécurité et en toute légalité à votre port de destination

Fabricant agréé, vérifié en usine, certifié, enregistré et approuvé
Fabricant agréé, vérifié en usine, certifié, enregistré et approuvé
Réservation directe auprès de MSC, Maersk, CMA CGM et d'autres compagnies maritimes
Réservation directe auprès de MSC, Maersk, CMA CGM et d’autres compagnies maritimes
Envois assurés et de qualité garantie par le laboratoire indépendant
Envois assurés et de qualité garantie par le laboratoire indépendant

Calculateur des frais d’expédition du charbon de bois pour chicha

Vérification en ligne et en temps réel du coût du transport du charbon de bois de coquille de noix de coco

/* — Base Styles (All CSS is self-contained) — */ :root { –color-primary: #0a5fcf; /* A nice blue */ –color-primary-dark: #084ca8; –color-light-gray: #f4f7f6; –color-medium-gray: #e0e4e2; –color-dark-gray: #5c6a65; –color-text: #2c3e50; –color-white: #ffffff; –color-red: #e74c3c; –color-red-light: #fdeded; –color-green: #27ae60; /* Green for 40ft note */ –shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 5px 10px -6px rgba(0, 0, 0, 0.1); –border-radius: 12px; } /* To prevent conflicts with your WordPress theme, we’ll scope all styles to the calculator’s container. */ .shipping-calculator-container * { box-sizing: border-box; } .shipping-calculator-container { color: var(–color-text); line-height: 1.6; padding: 20px; } /* — Main Layout — */ .shipping-calculator-container .container { max-width: 600px; width: 100%; margin: auto; } .shipping-calculator-container .calculator-card { background-color: var(–color-light-gray); border-radius: var(–border-radius); box-shadow: var(–shadow); padding: 24px; width: 100%; } /* — Typography — */ .shipping-calculator-container h1 { font-size: 28px; font-weight: 700; text-align: center; margin-bottom: 32px; color: var(–color-text); } .shipping-calculator-container h2 { font-size: 18px; font-weight: 600; color: var(–color-text); margin-bottom: 12px; display: flex; align-items: center; } /* Numbered steps */ .shipping-calculator-container h2::before { content: attr(data-step); display: inline-flex; justify-content: center; align-items: center; width: 24px; height: 24px; font-size: 14px; font-weight: 700; color: var(–color-white); background-color: var(–color-primary); border-radius: 50%; margin-right: 10px; } /* — Form Elements — */ .shipping-calculator-container .form-step { margin-bottom: 28px; } /* Radio Buttons (Container Type) */ .shipping-calculator-container .radio-button-group { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } .shipping-calculator-container .radio-button-label { display: block; background-color: var(–color-white); border: 2px solid var(–color-medium-gray); border-radius: var(–border-radius); padding: 20px 16px; text-align: center; font-size: 18px; font-weight: 600; color: var(–color-dark-gray); cursor: pointer; transition: all 0.2s ease; position: relative; } .shipping-calculator-container .radio-button-label:hover { border-color: var(–color-primary); color: var(–color-primary); } /* Hide the actual radio button */ .shipping-calculator-container input[type= »radio »] { display: none; } /* Checked state for radio button */ .shipping-calculator-container input[type= »radio »]:checked + .radio-button-label { border-color: var(–color-primary); background-color: #f0f6ff; color: var(–color-primary); box-shadow: 0 0 0 3px rgba(10, 95, 207, 0.2); } /* NEW: Tonnage Note (under radio buttons) */ .shipping-calculator-container .tonnage-note { font-size: 14px; font-weight: 600; text-align: center; margin-top: 10px; min-height: 1.5em; /* Reserve space */ transition: color 0.2s ease; } .shipping-calculator-container .tonnage-note-20ft { color: var(–color-primary); } .shipping-calculator-container .tonnage-note-40ft { color: var(–color-green); } /* Select Dropdowns */ .shipping-calculator-container .select-wrapper { position: relative; } .shipping-calculator-container select { width: 100%; padding: 16px 40px 16px 16px; font-size: 16px; background-color: var(–color-white); border: 1px solid var(–color-medium-gray); border-radius: var(–border-radius); color: var(–color-text); -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; transition: border-color 0.2s ease, box-shadow 0.2s ease; } .shipping-calculator-container select:hover { border-color: var(–color-dark-gray); } .shipping-calculator-container select:focus { outline: none; border-color: var(–color-primary); box-shadow: 0 0 0 3px rgba(10, 95, 207, 0.2); } .shipping-calculator-container select:disabled { background-color: var(–color-light-gray); color: var(–color-dark-gray); cursor: not-allowed; opacity: 0.7; } /* Custom dropdown arrow */ .shipping-calculator-container .select-wrapper::after { content: ‘▼’; font-size: 12px; color: var(–color-dark-gray); position: absolute; right: 16px; top: 50%; transform: translateY(-50%); pointer-events: none; } /* — Searchable Dropdown — */ .shipping-calculator-container .searchable-dropdown { position: relative; } .shipping-calculator-container #country-search { width: 100%; padding: 16px 40px 16px 16px; font-size: 16px; background-color: var(–color-white); border: 1px solid var(–color-medium-gray); border-radius: var(–border-radius); color: var(–color-text); transition: border-color 0.2s ease, box-shadow 0.2s ease; } .shipping-calculator-container #country-search:hover { border-color: var(–color-dark-gray); } .shipping-calculator-container #country-search:focus { outline: none; border-color: var(–color-primary); box-shadow: 0 0 0 3px rgba(10, 95, 207, 0.2); } .shipping-calculator-container #country-search:disabled { background-color: var(–color-light-gray); color: var(–color-dark-gray); cursor: not-allowed; opacity: 0.7; } .shipping-calculator-container .dropdown-content { display: none; /* Hidden by default */ position: absolute; top: 100%; left: 0; right: 0; z-index: 10; background-color: var(–color-white); border: 1px solid var(–color-medium-gray); border-top: none; border-radius: 0 0 var(–border-radius) var(–border-radius); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.07); max-height: 200px; overflow-y: auto; } .shipping-calculator-container .dropdown-content.visible { display: block; } .shipping-calculator-container .dropdown-item { padding: 12px 16px; cursor: pointer; font-size: 16px; color: var(–color-text); } .shipping-calculator-container .dropdown-item:hover { background-color: #f0f6ff; color: var(–color-primary); } .shipping-calculator-container .dropdown-item.no-results { padding: 12px 16px; font-style: italic; color: var(–color-dark-gray); cursor: default; } /* — End Searchable Dropdown — */ /* Main Search Button */ .shipping-calculator-container #search-button { width: 100%; background-color: var(–color-primary); color: var(–color-white); font-size: 18px; font-weight: 700; padding: 18px; border: none; border-radius: var(–border-radius); cursor: pointer; transition: background-color 0.2s ease, box-shadow 0.2s ease; display: flex; justify-content: center; align-items: center; margin-top: 8px; /* Added margin to give space */ } .shipping-calculator-container #search-button:hover:not(:disabled) { background-color: var(–color-primary-dark); box-shadow: 0 4px 12px -2px rgba(10, 95, 207, 0.3); } .shipping-calculator-container #search-button:disabled { background-color: var(–color-medium-gray); cursor: not-allowed; opacity: 0.8; } /* — Loader / Spinner — */ .shipping-calculator-container .spinner { display: none; /* Hidden by default */ width: 20px; height: 20px; border: 3px solid rgba(255, 255, 255, 0.3); border-top-color: var(–color-white); border-radius: 50%; animation: spin 0.8s linear infinite; } /* Spinner for dropdowns */ .shipping-calculator-container .spinner-inline { width: 20px; height: 20px; border: 3px solid var(–color-medium-gray); border-top-color: var(–color-primary); position: absolute; right: 16px; /* Inside the input */ top: 50%; transform: translateY(-50%); display: none; /* JS will show this */ } .shipping-calculator-container #search-button.loading .spinner { display: block; } .shipping-calculator-container #search-button.loading #search-button-text { display: none; } .shipping-calculator-container .select-wrapper.loading .spinner-inline, .shipping-calculator-container .searchable-dropdown.loading .spinner-inline { display: block; } @keyframes spin { to { transform: rotate(360deg); } } /* — Results Area — */ .shipping-calculator-container #results-container { display: none; /* Hidden by default */ padding: 20px; border-radius: var(–border-radius); background-color: var(–color-light-gray); margin-top: 28px; border: 1px solid var(–color-medium-gray); } .shipping-calculator-container #results-container.visible { display: block; } .shipping-calculator-container #results-container h3 { font-size: 20px; font-weight: 700; color: var(–color-text); margin-bottom: 16px; } /* Style for loading message */ .shipping-calculator-container #loading-message { font-size: 18px; font-weight: 600; color: var(–color-primary); text-align: center; margin-bottom: 0; /* Remove margin when it’s the only thing */ min-height: 24px; /* prevent layout shift */ } .shipping-calculator-container .result-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; font-size: 16px; } .shipping-calculator-container .result-row + .result-row { border-top: 1px dashed var(–color-medium-gray); } .shipping-calculator-container .result-row .label { color: var(–color-dark-gray); } .shipping-calculator-container .result-row .value { font-weight: 600; color: var(–color-text); } .shipping-calculator-container .result-divider { border-top: 2px solid var(–color-medium-gray); margin: 12px 0; } .shipping-calculator-container .result-total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 12px; } .shipping-calculator-container .result-total .label { font-size: 18px; font-weight: 600; color: var(–color-text); } .shipping-calculator-container .result-total .value { font-size: 32px; font-weight: 700; color: var(–color-primary); } /* Style for price validity */ .shipping-calculator-container .price-validity-note { text-align: center; margin-top: 16px; font-size: 14px; color: var(–color-dark-gray); } /* Error state */ .shipping-calculator-container #results-container.error { background-color: var(–color-red-light); border: 1px solid var(–color-red); } .shipping-calculator-container #results-container.error h3 { color: var(–color-red); } .shipping-calculator-container #results-container.error p { color: #c0392b; font-weight: 500; } /* — Mobile Responsiveness — */ @media (max-width: 640px) { .shipping-calculator-container { padding: 10px; } .shipping-calculator-container .calculator-card { padding: 20px; } .shipping-calculator-container h1 { font-size: 24px; margin-bottom: 24px; } .shipping-calculator-container h2 { font-size: 16px; } .shipping-calculator-container .radio-button-label { font-size: 16px; padding: 16px 12px; } .shipping-calculator-container select, .shipping-calculator-container #search-button, .shipping-calculator-container #country-search { font-size: 16px; padding-top: 16px; padding-bottom: 16px; } .shipping-calculator-container .result-total .label { font-size: 16px; } .shipping-calculator-container .result-total .value { font-size: 28px; } }

Select Container Type

Select Your Country

Select Port

Please select a country first
// We wrap the entire script in a function to avoid conflicts // with other scripts on your WordPress site. (function() { // — !!! IMPORTANT !!! — // You MUST update this URL to the full, absolute path // where your api2.php file is hosted. const API_URL = ‘https://id.charcoal.pro/admin/shipping/api2.php’; // — /IMPORTANT — // Get references to all our interactive elements // We scope the search to our container to be safe const calculatorInstance = document.querySelector(‘.shipping-calculator-container’); if (!calculatorInstance) { console.error(« Shipping Calculator container not found! »); return; } const containerTypeGroup = calculatorInstance.querySelector(‘#container-type-group’); const countryDropdownWrapper = calculatorInstance.querySelector(‘#country-dropdown-wrapper’); const countrySearchInput = calculatorInstance.querySelector(‘#country-search’); const countryList = calculatorInstance.querySelector(‘#country-list’); const countryLoader = calculatorInstance.querySelector(‘#country-loader’); const portSelect = calculatorInstance.querySelector(‘#port-select’); const searchButton = calculatorInstance.querySelector(‘#search-button’); const resultsContainer = calculatorInstance.querySelector(‘#results-container’); const portWrapper = calculatorInstance.querySelector(‘#port-wrapper’); const portLoader = calculatorInstance.querySelector(‘#port-loader’); const searchButtonText = calculatorInstance.querySelector(‘#search-button-text’); const searchButtonLoader = calculatorInstance.querySelector(‘#search-button-loader’); // NEW: Get references to both tonnage notes const tonnageNote20ft = calculatorInstance.querySelector(‘#tonnage-note-20ft’); const tonnageNote40ft = calculatorInstance.querySelector(‘#tonnage-note-40ft’); // — State Variables — let countriesLoaded = false; let allCountries = []; // Stores the full list of countries let selectedCountry = «  »; // Stores the chosen country let messageInterval = null; /** * Renders the list of countries in the custom dropdown. */ function renderCountryList(countries) { countryList.innerHTML =  »; // Clear previous results if (countries.length === 0) { countryList.innerHTML = ‘

Les tarifs sont mis à jour chaque semaine et confirmés individuellement. Vous pouvez également utiliser votre propre transitaire si vous le souhaitez.

Les prix ci-dessus comprennent le fret maritime de l’Indonésie jusqu’à votre port, le suivi de l’usine jusqu’au port de chargement (POL Semarang), le THC, les documents d’exportation, le formulaire DG, la couverture thermique, le Vanning, le COO et le BL. En fait, il s’agit de tous les coûts jusqu’à votre port. Vous pouvez calculer d’autres destinations pour l’expédition de charbon de bois pour chicha.

icône d'un porte-conteneurs et d'un camion

Notre usine de charbon de bois est entièrement agréée et certifiée, et enregistrée par toutes les grandes compagnies maritimes pour l’exportation et la livraison de charbon de bois pour chicha depuis l’Indonésie vers tous les pays.

Nous exportons chaque semaine des briquettes de charbon de bois de coco vers le Moyen-Orient (Arabie saoudite, Liban, Koweït, Émirats arabes unis, Irak), l’Europe (Allemagne, Pays-Bas, Belgique, Royaume-Uni, Pologne, République tchèque, Grèce, Turquie, Lituanie), les États-Unis, le Canada, l’Australie, la Russie, le Kazakhstan, l’Ouzbékistan, le Tadjikistan, la Géorgie, l’Azerbaïdjan, Taïwan, la Corée du Sud, la Côte d’Ivoire et d’autres pays encore.

Quelles sont les conditions et les frais d’expédition ?

Notre prix CIF/FOB comprend

  • Fret maritime
  • Transport routier d’usine à port
  • Manutention au port de chargement (THC POL)
  • Certificat d’origine (COO)
  • Stockage portuaire et manutention avant le départ
  • Certificat d’analyse (COA)

En fait, il s’agit de la CIF incluant tous les coûts depuis notre usine jusqu’à votre port de destination.

Tous les frais de port, de dédouanement dans votre port et de manutention des conteneurs sont à votre charge.

Que devez-vous payer (en tant qu’importateur) ?

Nous vendons notre charbon de bois pour chicha sur les bases EXW, FOB, CNF et CIF (conformément aux Incoterms 2020).

En tant qu’usine, nous ne pouvons pas nous charger du DDP ou du dédouanement dans votre pays. En revanche, nous nous occupons de tous les documents d’exportation et des droits de douane en Indonésie.

Les droits d’importation dans votre pays et la livraison locale doivent être organisés par votre courtier en douane – ce sera moins cher et plus facile pour vous.

Avant de commander, vous devez trouver un courtier en douane dans votre pays qui s’occupera de tous les documents d’importation, des taxes d’importation, de la manutention au port de destination et de la livraison à votre entrepôt.

Dans la plupart des pays, le charbon de bois pour chicha est légal et facile à importer sans licence spécifique.

Votre courtier s’occupera des droits d’importation locaux pour le charbon de bois pour chicha et des éventuels frais portuaires de destination, qui sont distincts de nos frais de transport pour le charbon de bois.

Délai d’expédition du charbon de bois pour shisha vers votre port

Temps de transit estimés depuis l’Indonésie (Port de Semarang / Surabaya)

/* — Base Styles (All CSS is self-contained) — */ :root { –tt-color-primary: #0a5fcf; /* Blue */ –tt-color-primary-dark: #084ca8; –tt-color-light-gray: #f4f7f6; –tt-color-medium-gray: #e0e4e2; –tt-color-dark-gray: #5c6a65; –tt-color-text: #2c3e50; –tt-color-white: #ffffff; –tt-color-red: #e74c3c; –tt-color-red-light: #fdeded; –tt-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 5px 10px -6px rgba(0, 0, 0, 0.1); –tt-border-radius: 12px; } /* Scope all styles to this container to prevent conflicts with WordPress themes */ .transit-time-container * { box-sizing: border-box; } .transit-time-container { color: var(–tt-color-text); line-height: 1.6; padding: 20px; } /* — Main Layout — */ .transit-time-container .container { max-width: 800px; /* Wider container for the table */ width: 100%; margin: auto; } .transit-time-container .calculator-card { background-color: var(–tt-color-light-gray); border-radius: var(–tt-border-radius); box-shadow: var(–tt-shadow); padding: 24px; width: 100%; } /* — Typography — */ .transit-time-container h1 { font-size: 28px; font-weight: 700; text-align: center; margin-bottom: 32px; color: var(–tt-color-text); } .transit-time-container h2 { font-size: 18px; font-weight: 600; color: var(–tt-color-text); margin-bottom: 12px; display: flex; align-items: center; } /* — Form Elements — */ .transit-time-container .form-step { margin-bottom: 28px; } .transit-time-container .search-form-row { display: grid; grid-template-columns: 2fr 2fr 1fr; /* country | port | button */ gap: 16px; align-items: end; } /* — Select Dropdown Styles — */ .transit-time-container .select-wrapper { position: relative; } .transit-time-container .select-wrapper.loading .spinner-inline { display: block; } .transit-time-container select { width: 100%; padding: 16px 40px 16px 16px; font-size: 16px; background-color: var(–tt-color-white); border: 1px solid var(–tt-color-medium-gray); border-radius: var(–tt-border-radius); color: var(–tt-color-text); -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; transition: border-color 0.2s ease, box-shadow 0.2s ease; } .transit-time-container select:hover { border-color: var(–tt-color-dark-gray); } .transit-time-container select:focus { outline: none; border-color: var(–tt-color-primary); box-shadow: 0 0 0 3px rgba(10, 95, 207, 0.2); } .transit-time-container select:disabled { background-color: var(–tt-color-light-gray); color: var(–tt-color-dark-gray); cursor: not-allowed; opacity: 0.7; } /* Custom dropdown arrow */ .transit-time-container .select-wrapper::after { content: ‘▼’; font-size: 12px; color: var(–tt-color-dark-gray); position: absolute; right: 16px; top: 50%; transform: translateY(-50%); pointer-events: none; } /* — End Select Dropdown Styles — */ /* — Search Button — */ .transit-time-container #search-port-button { width: 100%; background-color: var(–tt-color-primary); color: var(–tt-color-white); font-size: 16px; font-weight: 700; padding: 16px; border: none; border-radius: var(–tt-border-radius); cursor: pointer; transition: background-color 0.2s ease, box-shadow 0.2s ease; display: flex; justify-content: center; align-items: center; } .transit-time-container #search-port-button:hover:not(:disabled) { background-color: var(–tt-color-primary-dark); box-shadow: 0 4px 12px -2px rgba(10, 95, 207, 0.3); } .transit-time-container #search-port-button:disabled { background-color: var(–tt-color-medium-gray); cursor: not-allowed; opacity: 0.8; } /* — Loader / Spinner — */ .transit-time-container .spinner-inline { width: 20px; height: 20px; border: 3px solid var(–tt-color-medium-gray); border-top-color: var(–tt-color-primary); position: absolute; right: 16px; /* Inside the input */ top: 50%; transform: translateY(-50%); display: none; /* JS will show this */ animation: tt-spin 0.8s linear infinite; } .transit-time-container #search-port-button .spinner { display: none; /* Hidden by default */ width: 20px; height: 20px; border: 3px solid rgba(255, 255, 255, 0.3); border-top-color: var(–tt-color-white); border-radius: 50%; animation: tt-spin 0.8s linear infinite; } .transit-time-container #search-port-button.loading .spinner { display: block; } .transit-time-container #search-port-button.loading #search-port-button-text { display: none; } @keyframes tt-spin { to { transform: rotate(360deg); } } /* — Results Area — */ .transit-time-container #results-container { margin-top: 28px; } .transit-time-container #results-table { width: 100%; border-collapse: collapse; background-color: var(–tt-color-white); border-radius: var(–tt-border-radius); overflow: hidden; /* For border-radius */ box-shadow: var(–tt-shadow); } .transit-time-container #results-table th, .transit-time-container #results-table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(–tt-color-medium-gray); } .transit-time-container #results-table th { background-color: var(–tt-color-light-gray); font-size: 14px; font-weight: 600; color: var(–tt-color-dark-gray); text-transform: uppercase; } .transit-time-container #results-table td { font-size: 15px; color: var(–tt-color-text); } .transit-time-container #results-table tbody tr:last-child td { border-bottom: none; } .transit-time-container #results-table tbody tr:hover { background-color: #f0f6ff; } .transit-time-container #results-table .col-port { font-weight: 600; color: var(–tt-color-primary); } .transit-time-container #results-table .col-transit { font-weight: 600; } .transit-time-container #results-table .col-eta { font-weight: 600; } /* Error state */ .transit-time-container #error-message { display: none; /* Hidden by default */ padding: 20px; border-radius: var(–tt-border-radius); background-color: var(–tt-color-red-light); border: 1px solid var(–tt-color-red); color: #c0392b; font-weight: 500; margin-top: 20px; } .transit-time-container #error-message.visible { display: block; } /* Footer Note */ .transit-time-container .results-footer-note { font-size: 14px; color: var(–tt-color-dark-gray); margin-top: 16px; text-align: center; min-height: 1.5em; /* Reserve space */ transition: color 0.3s ease; } .transit-time-container .results-footer-note.loading { font-weight: 600; color: var(–tt-color-primary); } /* — Mobile Responsiveness — */ @media (max-width: 768px) { .transit-time-container .search-form-row { grid-template-columns: 1fr; /* Stack on mobile */ } .transit-time-container #search-port-button { padding-top: 16px; padding-bottom: 16px; font-size: 16px; } /* Responsive Table */ .transit-time-container #results-table thead { display: none; /* Hide table headers */ } .transit-time-container #results-table tr { display: block; margin-bottom: 16px; border-radius: var(–tt-border-radius); border: 1px solid var(–tt-color-medium-gray); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05); } .transit-time-container #results-table td { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px dashed var(–tt-color-medium-gray); padding: 12px 16px; font-size: 14px; } .transit-time-container #results-table td:last-child { border-bottom: none; } .transit-time-container #results-table td::before { content: attr(data-label); /* Use data-label for header */ font-weight: 600; color: var(–tt-color-dark-gray); margin-right: 10px; text-transform: uppercase; font-size: 13px; } .transit-time-container #results-table .col-port { font-size: 16px; /* Emphasize port name */ } } @media (max-width: 640px) { .transit-time-container { padding: 10px; } .transit-time-container .calculator-card { padding: 20px; } .transit-time-container h1 { font-size: 24px; margin-bottom: 24px; } .transit-time-container h2 { font-size: 16px; } }

Search for a Port

Please wait, loading list countries…
Select a country first
Country Port Name ETD Departure Transit Time (Days) ETA Arrival
// We wrap the entire script in a function to avoid conflicts // with other scripts on your WordPress site. (function() { // — !!! IMPORTANT !!! — // You MUST update this URL to the full, absolute path // where your new api3.php file is hosted. const API_URL = ‘https://id.charcoal.pro/admin/shipping/api3.php’; // — /IMPORTANT — // Get references to all our interactive elements const calculatorInstance = document.querySelector(‘.transit-time-container’); if (!calculatorInstance) { console.error(« Transit Time Calculator container not found! »); return; } const countryWrapper = calculatorInstance.querySelector(‘#country-wrapper’); const countrySelect = calculatorInstance.querySelector(‘#country-select’); const portWrapper = calculatorInstance.querySelector(‘#port-wrapper’); const portSelect = calculatorInstance.querySelector(‘#port-select’); const searchPortButton = calculatorInstance.querySelector(‘#search-port-button’); const searchPortButtonText = calculatorInstance.querySelector(‘#search-port-button-text’); const resultsTableBody = calculatorInstance.querySelector(‘#results-table-body’); const resultsFooter = calculatorInstance.querySelector(‘#results-footer’); const errorMessage = calculatorInstance.querySelector(‘#error-message’); // — State Variables — let hasEstimatedPorts = false; // To track if we need the footer note let defaultFooterMessage = « Please search for a port to see the schedule. »; let loadingFooterMessage = « Please wait…we are checking fastest shipping schedule for shisha charcoal »; /** * Fetches the list of all countries. */ async function loadCountries() { countryWrapper.classList.add(‘loading’); countrySelect.disabled = true; try { const response = await fetch(`${API_URL}?mode=countries`); if (!response.ok) throw new Error(‘Failed to fetch country list’); const countries = await response.json(); countrySelect.innerHTML = ‘– Select a Country –‘; countries.forEach(country => { const option = document.createElement(‘option’); option.value = country; option.textContent = country; countrySelect.appendChild(option); }); countrySelect.disabled = false; } catch (error) { console.error(‘Failed to load countries:’, error); showError(‘Could not load country list. Please check API_URL or server.’); countrySelect.innerHTML = ‘Error loading countries’; } finally { countryWrapper.classList.remove(‘loading’); } } /** * Fetches the list of ports for a specific country. */ async function loadPorts(country) { portWrapper.classList.add(‘loading’); portSelect.disabled = true; portSelect.innerHTML = ‘Loading ports…’; try { const response = await fetch(`${API_URL}?country=${encodeURIComponent(country)}`); if (!response.ok) throw new Error(‘Failed to fetch port list’); const ports = await response.json(); portSelect.innerHTML = ‘– Select a Port –‘; ports.forEach(port => { const option = document.createElement(‘option’); option.value = port; option.textContent = port; portSelect.appendChild(option); }); portSelect.disabled = false; } catch (error) { console.error(‘Failed to load ports:’, error); showError(`Could not load ports for ${country}.`); portSelect.innerHTML = ‘Error loading ports’; } finally { portWrapper.classList.remove(‘loading’); } } /** * Fetches the transit time details for a specific port. * Returns true on success, false on failure. */ async function getTransitTime(port, options = 1) { // Determine if this is a multi-option search const isMultiOptionSearch = options === 5; if (isMultiOptionSearch) { setButtonLoading(true); } hideError(); // Build the API URL let url = `${API_URL}?transitport=${encodeURIComponent(port)}`; if (isMultiOptionSearch) { url += `&options=5`; } try { const response = await fetch(url); const data = await response.json(); if (!response.ok) { throw new Error(data.message || ‘Failed to fetch transit time’); } if (data && data.length > 0) { // This is the key change: Loop through ALL results data.forEach(option => { addResultToTable(option); }); return true; // Success } else { throw new Error(`No transit data found for ${port}.`); } } catch (error) { console.error(‘Failed to get transit time:’, error.stack); // Only show error toast for user searches, not default load if (isMultiOptionSearch) { showError(error.message); } else { console.error(`Failed to load default port ${port}: ${error.message}`); } return false; // Failure } finally { if (isMultiOptionSearch) { setButtonLoading(false); } } } /** * Adds a single result row to the table. * This function now appends, it does not clear. */ function addResultToTable(data) { const row = document.createElement(‘tr’); row.dataset.port = data.port; let transitTime = data.transitDays; if (data.isEstimate) { transitTime = `${data.transitDays}*`; hasEstimatedPorts = true; // Mark that this result is an estimate } // Create table cells with data-label for mobile view row.innerHTML = ` ${data.country} ${data.port} ${data.departureDate} ${transitTime} ${data.etaDate} `; resultsTableBody.appendChild(row); } /** * Fetches the default list of ports on page load. */ async function fetchDefaultPorts() { const defaultPorts = [‘Beirut’, ‘Dammam’, ‘Hamburg’, ‘New York’]; // Show loading message updateFooterNote(loadingFooterMessage, true); // We fetch the ports one by one for (const port of defaultPorts) { // We call getTransitTime with default options (1) // This will fetch and add one row per port await getTransitTime(port, 1); } // Update the footer note based on the loaded data updateFooterNote(); } /** * Updates the footer note based on table content or a specific message. */ function updateFooterNote(message = null, isLoading = false) { if (message) { // If a specific message is provided, use it resultsFooter.textContent = message; } else { // Otherwise, determine the message if (resultsTableBody.children.length === 0) { resultsFooter.textContent = defaultFooterMessage; } else if (hasEstimatedPorts) { resultsFooter.textContent = « *Shisha charcoal transit time. Contact Mr Greg (+628118797070) for details. »; } else { resultsFooter.textContent = « All dates subjected to change based on shipping lines schedule »; } } // Handle loading class if (isLoading) { resultsFooter.classList.add(‘loading’); } else { resultsFooter.classList.remove(‘loading’); } } /** * Shows an error message. */ function showError(message) { errorMessage.textContent = message; errorMessage.classList.add(‘visible’); // Hide error after 3 seconds setTimeout(() => { hideError(); }, 3000); } /** * Hides the error message. */ function hideError() { errorMessage.textContent =  »; errorMessage.classList.remove(‘visible’); } /** * Toggles the loading state of the search button. */ function setButtonLoading(isLoading) { if (isLoading) { searchPortButton.disabled = true; searchPortButton.classList.add(‘loading’); } else { searchPortButton.disabled = false; searchPortButton.classList.remove(‘loading’); // Re-check if button should be enabled if (!portSelect.value) { searchPortButton.disabled = true; } } } // — Event Listeners — // When a country is selected countrySelect.addEventListener(‘change’, () => { const selectedCountry = countrySelect.value; searchPortButton.disabled = true; // Disable button if (selectedCountry) { loadPorts(selectedCountry); } else { portSelect.innerHTML = ‘Select a country first’; portSelect.disabled = true; } }); // When a port is selected portSelect.addEventListener(‘change’, () => { if (portSelect.value) { searchPortButton.disabled = false; // Enable « Search » button } else { searchPortButton.disabled = true; } }); // Search for port searchPortButton.addEventListener(‘click’, async () => { if (portSelect.value) { // Clear the table before showing the new results resultsTableBody.innerHTML = «  »; hasEstimatedPorts = false; // Reset estimator updateFooterNote(loadingFooterMessage, true); // Show loading // Request 5 options const success = await getTransitTime(portSelect.value, 5); if (success) { // Update footer based on the new 5-row results updateFooterNote(); } else { // On error, clear loading and show default message updateFooterNote(defaultFooterMessage, false); } } }); // — Initial Load — function initializeCalculator() { loadCountries(); fetchDefaultPorts(); // Load the default ports on startup } initializeCalculator(); })(); // Immediately run the script

Notre usine est située à Magelang, Java central, IndonésieLe port le plus proche est donc celui de Semarang (Tanjung Emas / IDSRG). Nous pouvons également expédier des marchandises à partir des ports de Surabaya ou de Jakarta.

Quels sont les documents fournis par notre usine pour l’exportation ?

Notre usine de charbon de bois est entièrement certifiée et dispose de tous les documents nécessaires pour exporter du charbon de bois pour chicha d’Indonésie dans le monde entier.

Nous sommes enregistrés et approuvés et pouvons effectuer des réservations directes auprès de toutes les compagnies maritimes qui acceptent le charbon de bois pour chicha: MSC, Maersk, CMA CGM, Vasi, Feeder Line, OOCL, PIL, Asyad Shipping, SITC, OOCL et Emirates Shipping.

logo des compagnies maritimes pour le charbon de bois pour chicha
Nous fournissons l’ensemble des documents requis par votre pays.

Lettre de transport (B/L)

Le connaissement est le principal document émis par les compagnies maritimes confirmant que votre conteneur a été accepté et transporté par le navire.

Le BL contient des informations sur le destinataire (votre entreprise), la notification (généralement votre courtier en douane), le numéro du conteneur, le numéro du scellé du conteneur, le nom des marchandises (charbon de bois pour chicha, code SH 440290), le nom du navire et la destination.

La propriété du BL indique qui est le véritable propriétaire des marchandises contenues dans le conteneur.

Nous procédons à une libération par télex pour tous nos envois.

Sans BL, vous ne pouvez pas réclamer votre conteneur avec du charbon de bois à votre port.

exemple de connaissement pour du charbon de bois pour chicha avec les compagnies maritimes MSC et Maersk

Certificat d’origine (COO)

Un certificat d’origine (COO) est un document officiel délivré par une chambre de commerce en Indonésie qui certifie le pays d’origine d’un produit = l’Indonésie.

Il s’agit de vérifier où le charbon de bois a été fabriqué (Indonésie), par quelle entreprise.

Il aide les autorités douanières de notre pays à calculer les droits d’importation, les tarifs et les taxes corrects sur la base des accords commerciaux entre l’Indonésie et votre pays.

Sans COO, vous ne pouvez pas procéder au dédouanement et recevoir votre charbon de bois.

exemple de certificat d'origine pour le charbon de bois pour shisha

Liste de colisage et facture

La facture et la liste de colisage sont émises par notre usine et contiennent des informations sur le prix charcoal (prix auquel vous l’achetez), les conditions de paiement et d’autres informations importantes.

La liste de colisage contient des informations détaillées sur le type de charbon de bois, son emballage et le nombre de kg de chaque type dans le conteneur.

  facture et liste de colisage

Certificat de Vanning

Le vannage est un document délivré par un expert maritime indépendant, comme Carsurin ou Beckjorindo, après une inspection physique de la manière dont le charbon de bois a été chargé (vanné) dans un conteneur.

Il confirme que le conteneur est correctement emballé conformément aux réglementations telles que le code IMDG, que la cargaison est en sécurité et que tous les documents et photographies requis sont fournis.

Ce certificat est essentiel pour garantir la sécurité et la conformité de l’envoi.

certificat de vannerie

Pour le Moyen-Orient

Pour la plupart des pays du Moyen-Orient (Arabie Saoudite, EAU, Koweït, Bahreïn, Irak, Qatar, Jordanie, Liban, Oman), nous fournissons une liste de colisage, une facture approuvée par la chambre de commerce et des palettes ISPF15 (si nécessaire).

modèle de vérification de la chambre de commerce pour le certificat d'origine du charbon de bois pour shisha

Pour les États-Unis

Pour les États-Unis, nous fournissons également des services ISF (Importer Security Filing) et des services de déclaration d’actes LACEY.

Conformément aux exigences, nous le faisons au moins 24 heures avant que le charbon de bois pour chicha ne soit chargé sur un navire à destination des États-Unis.

  formulaire isf

Pour l’Australie

Nous fournissons la déclaration du fabricant et la déclaration d’emballage requises par les douanes australiennes et le contrôle des frontières.

Déclaration de fabrication et d'emballage
Nous fournissons également tous les documents nécessaires à l’expédition vers la Russie, la Turquie, l’Allemagne et le Royaume-Uni.

Détails de la cargaison

À partir de 2026, le charbon de bois de noix de coco (charbon de shisha) est expédié uniquement en tant que marchandise dangereuse.

Nom de la substanceBriquettes de charbon de bois de coquille de noix de coco
N° ONU1361
Classe OMI4.2
Numéro de page IMDGCode INDG (modifié 42-24) Vol 2-Partie 3 : Liste des marchandises dangereuses, page 61
Groupe EmballagesIII
Point d’éclairNon disponible
EMSF-A, S-J

Code HS: 440290

MSDS – Fiche de données de sécurité

Logo de la fiche de données de sécurité

Téléchargez la fiche de données de sécurité pour Shisha Charcoal

Si vous avez besoin de plus d’informations sur l’expédition de notre charbon de bois pour chicha, veuillez contacter notre expert en charbon de bois, Greg Ryabtsev, au +62 811 879 7070 ou par courriel à l’adresse export@charcoal.pro.

Comment pouvons-nous nous assurer que votre charbon de bois vous parvient en bon état ?

Nettoyer les boîtes avant de les placer dans le conteneur

Toutes les boîtes sont nettoyées avant d’entrer dans le conteneur, afin de s’assurer que nos clients reçoivent des boîtes propres et agréables.

Bien que toutes nos boîtes soient recouvertes d’un plastique de protection, la nature de la production est très poussiéreuse. Si vous stockez des boîtes pendant plus de 5 jours, elles seront recouvertes d’une épaisse couche de poussière.

Afin de vous garantir une livraison propre et agréable, nous procédons à un nettoyage supplémentaire avant de charger les caisses dans le conteneur.

Emballage sous vide Taille du conteneur Couverture thermique

Nous utilisons une couverture thermique scellée sous vide qui protège le charbon de bois de l’humidité et des changements de température.

Il est spécialement conçu pour la taille du conteneur afin de protéger les marchandises, en particulier le charbon de bois, des changements thermiques et de l’humidité.

Absorbeurs d’humidité en format conteneur

Nous ajoutons toujours des absorbeurs d’humidité de la taille d’un conteneur (1,5 kg) pour une protection supplémentaire contre l’humidité pendant le transport et la livraison.

En général, nous ajoutons 6 absorbeurs d’humidité pour les conteneurs de 20 pieds et 12 gels de silice pour les conteneurs de 40 pieds.

Il suffit de s’assurer que votre charbon de bois arrive sec et en bon état

Recrutement de palettes

Pour les palettes, nous utilisons des palettes d’exportation certifiées ISPM15, de dimensions 1000×1200 mm.

Chaque palette est certifiée, estampillée et autorisée à être livrée aux États-Unis, à l’Union européenne et à l’Afrique du Sud.

Nous utilisons des bords en papier supplémentaires et un emballage en plastique pour protéger le charbon de bois pendant la livraison.

Garantie et assurance

Chaque envoi est protégé par l’assurance du fret maritime des compagnies maritimes. Ainsi, dans un cas rare, si quelque chose arrive au conteneur, vous pouvez être sûr que tout est entièrement couvert par les compagnies maritimes.

Audit d'une usine de charbon de bois pour shisha par carsurin

Audit d’usine

Nous sommes entièrement agréés et approuvés par Carsurin et Beckjorindo, laboratoire et géomètre indépendants.

L’audit de l’usine montre que celle-ci fonctionne selon des procédures normalisées et qu’elle est fiable pour la fabrication et l’exportation de charbon de bois pour chicha.

Il est essentiel de faire approuver l’AF par les compagnies maritimes, à moins que vous ne puissiez exporter ou livrer du charbon de bois avec MSC, Maersk ou CMA CGM.

assurance pour les cargaisons maritimes

Assurance cargaison maritime pour le charbon de bois

L’assurance transport est un service supplémentaire que nous utilisons pour protéger votre charbon de bois pendant la livraison. La plupart du temps, nous utilisons la protection étendue de MSC qui couvre la perte ou l’endommagement de la cargaison en raison de.. :

Incendie, échouage, naufrage, collision, sauvetage et contributions aux avaries communes, événements météorologiques violents, événements naturels (« Act of God »), dommages dus à l’humidité (trou dans le toit permettant l’infiltration d’eau), dommages physiques à la cargaison, mauvaise manipulation de l’acconier, vols et chapardages.

Vidéos du recrutement de conteneurs dans notre usine

Export Shisha Charcoal to Russian Federation
Export Shisha Charcoal to Beirut Lebanon
récipient contenant du charbon de bois pour chicha
récipient contenant du charbon de bois pour chicha
récipient contenant du charbon de bois pour chicha

Foire aux questions (FAQ)

Puis-je réserver ou organiser l’expédition de mon côté, ou utiliser mon propre transitaire ?

Oui, si vous êtes sûr que votre compagnie maritime peut accepter la livraison de charbon de bois pour chicha, vous pouvez organiser vous-même l’expédition.

Dans ce cas, nous pouvons vous vendre des produits de base EXW ou FOB.

J’ai vérifié sur Internet et j’ai trouvé des frais d’expédition beaucoup moins élevés. Pourquoi est-ce possible ?

Très souvent, sur Internet, vous ne trouvez que du *fret maritime*, mais pour expédier du charbon de bois pour shisha, il y a beaucoup de frais supplémentaires de la part des compagnies maritimes, y compris la manutention de la DG et le traitement des matières dangereuses.

N’oubliez pas que notre prix comprend déjà le coût du suivi depuis notre usine de Magelang jusqu’au port de chargement de Semarang, les frais de manutention du terminal, les documents, les coûts d’exportation et les autres paiements.

Puis-je commander des LCL (Less container load) ?

Malheureusement, il n’est pas permis de transporter du charbon de bois pour chicha mélangé à d’autres marchandises. Les compagnies maritimes n’autorisent que l’utilisation d’un conteneur complet. Bien sûr, vous pouvez y charger quelques tonnes, mais les frais de transport resteront les mêmes et ne dépendront pas du fait que vous chargiez un conteneur complet ou une partie seulement.

Quelle est la quantité minimale de commande (MOQ) pour l’expédition ?

La commande minimale pour l’expédition est le chargement complet d’un conteneur. Cela signifie que vous devez commander au moins un conteneur de 20 pieds ou de 40 pieds.

Le conteneur de 20 pieds peut contenir jusqu’à 20 tonnes de charbon de bois pour chicha
Le conteneur de 40 pieds peut contenir jusqu’à 27,5 tonnes de charbon de bois pour chicha

Tous nos prix sont calculés sur la base d’une commande minimale de 25 tonnes.

Puis-je commander une autre taille/un autre emballage de charbon de bois pour chicha dans un même conteneur ?

Oui, vous pouvez le faire, à condition de respecter la commande minimale.

Vous pouvez commander *plusieurs tailles/emballages* avec un volume minimum de *2 tonnes par taille/emballage, pour autant que le volume total soit de 18+ tonnes. Dans certains cas, il est possible de commander une quantité inférieure.

Les droits d’importation, les taxes et les frais portuaires locaux dans mon pays sont-ils inclus dans votre prix ?

Non, ce n’est pas inclus. Mais nous incluons tous les coûts de notre côté en Indonésie.
Votre courtier s’occupera des droits d’importation locaux pour le charbon de bois pour chicha et de tous les frais portuaires de destination, qui sont distincts de nos frais de transport du charbon de bois.

Pouvez-vous livrer directement à mon entrepôt (DDP – Delivered Duty Paid) ?

Non, nous sommes une usine et nous ne pouvons pas organiser l’importation de votre côté. Le mieux que nous puissions faire est d’expédier CIF/CNF jusqu’à votre port.
Depuis votre port, vous devez vous en occuper vous-même.

Quel est le délai de livraison total à partir du moment où je passe ma commande ?

Le délai de livraison total à partir du moment où vous passez une commande se compose de deux parties
: la première est le temps de production, qui est généralement de 3 à 4 semaines, et la seconde est le temps d’expédition.

De quel port d’Indonésie partez-vous ?

Nous expédions à partir du port de Semarang, mais il est également possible de le faire à partir de Surabaya ou de Jakarta.

greg ryabtsev expert en charbon de coco

Je m’appelle Greg Ryabtsev. Je suis responsable du développement et de l’expédition des produits.
Toutes les questions relatives à l’expédition seront traitées avec moi.

Notre usine assume l’entière responsabilité de chaque expédition depuis notre site jusqu’à votre port. Tous les conteneurs sont assurés, inspectés et expédiés uniquement par des transporteurs agréés.
Votre commande est toujours traçable, entièrement documentée et protégée.

Auteur: Greg Ryabtsev, expert en charbon de bois de coco.
Révisé par : Gatot Wibowo, chef de production et directeur général.
Fact-checked: Wilson Gosalim, commissaire et copropriétaire d’une usine de charbon de bois.

Updated on: février 20, 2026

Contactez nous
pour le charbon de bois de coco en gros
pour les commandes de shisha et les demandes de renseignements.

Parlez aux vendeurs et aux experts

Intéressé par les produits Charcoal Pro ?
Appelez-nous ou envoyez-nous un message WhatsApp pour discuter avec notre expert en charbon de bois.

WhatsApp @ Email Télégramme Messager Instagram WeChat

Parlez à nos collaborateurs

Des questions sur la finance, l'approvisionnement ou la production ?
Contactez directement notre chef de service et notre propriétaire

Ibu Lita Admin shipping & percetakan

Administration de l'expédition et de l'impression

Lita

exim@charcoal.pro
+62 822-2439-1264

Ibu Stevie, achat

Achat et fourniture de matières premières

Stefenie Trisno (Stevi)

+62 8123 5424 907

Gatot Wibowo, directeur et responsable de la production de briquettes de charbon de bois de coco

Chef de production

Gatot Wibowo

production@charcoal.pro

+62 821-287-68-545

Wilson Gosalim, directeur de l'usine de briquettes de charbon de coco

Propriétaire d'usine

Wilson Gosalim

wilson@charcoal.pro
+62 853-2872-72-91

PT Coco Total Karbon Indonesia

Jl. Mayor Unus KM 1.5
Magelang, 56172
Central Java,
Indonesia
Numéro d'enregistrement de la société (NIB) 0220001680488

Lien Google Map : https://maps.app.goo.gl/1xViYkTYNsepYrXB9

Horaires de travail :

Usine: 24/7

Bureau: Lundi - vendredi 08:00 - 16:00 WIB (GMT+7)

+62 (293) 718-30-08 export@charcoal.pro

Nous sommes en ligne