Fulfillment by Amazon (FBA)
Fulfillment by Merchant (FBM)
Understanding Amazon Seller Fees and Profitability
Selling on Amazon can be a lucrative venture, but it's crucial to understand the various fees involved to accurately calculate your profit margins. These fees can significantly impact your bottom line, and neglecting them can lead to unexpected losses. This calculator helps you estimate the total fees per unit and your net profit.
Types of Amazon Seller Fees
Amazon sellers encounter several types of fees, which can vary depending on your selling plan, product category, and fulfillment method. The most common ones include:
Referral Fees: This is a percentage of the total sale price (including item price, shipping, and any other charges) charged by Amazon for each item sold. The rate varies by product category, typically ranging from 8% to 15%, with some exceptions.
Closing Fees: For media categories (books, DVDs, music, etc.), Amazon charges a fixed closing fee per item sold, in addition to the referral fee.
Fulfillment Fees: If you use Fulfillment by Amazon (FBA), you pay fees for Amazon to store your products, pick, pack, and ship them to customers. These fees depend on the product's size and weight.
Monthly Storage Fees: FBA sellers also incur monthly fees for storing inventory in Amazon's fulfillment centers. These fees are calculated based on the volume (cubic feet) of your inventory.
Shipping Costs: If you are using Fulfillment by Merchant (FBM), you are responsible for all shipping costs to the customer.
Cost of Goods Sold (COGS): This is the direct cost of acquiring or manufacturing the product you are selling. While not an Amazon fee, it's essential for calculating your profit.
How the Calculator Works
This calculator estimates your fees and net profit per unit based on the inputs you provide. Here's a breakdown of the calculations:
Total Revenue per Unit: Selling Price per Unit
Cost of Goods Sold per Unit: Item Cost
Shipping Costs per Unit: Shipping Cost to Customer (for FBM) or included in FBA fees.
Referral Fee:Selling Price per Unit * (Referral Fee Rate / 100)
Closing Fee: For media categories (implicit in the calculation if a closing fee rate is provided), calculated as Selling Price per Unit * (Closing Fee Rate / 100). If your category doesn't have a closing fee, you can enter 0.
Fulfillment Costs per Unit (FBA): This combines the FBA Fulfillment Fees and an allocated portion of Monthly Storage Fees. The calculator uses the direct FBA Fulfillment Fees input and the Monthly Storage Fees input. In a real-world scenario, storage fees might be averaged over expected sales velocity.
Total Fees per Unit: Sum of Referral Fee, Closing Fee, and Fulfillment Costs (if FBA) or shipping costs (if FBM).
Net Profit per Unit:(Selling Price per Unit + Shipping Cost to Customer [for FBM only]) - Item Cost - Total Fees per Unit. Note: For FBA, shipping cost to customer is handled by Amazon and included in their fees. For FBM, the shipping cost you pay is part of your operational cost here.
Important Note: This calculator provides an estimation. Actual Amazon fees can vary based on product dimensions, weight, specific category rules, and promotions. Always refer to your Amazon Seller Central account for the most accurate and up-to-date fee information.
Use Cases
Pricing Strategy: Determine optimal selling prices to ensure profitability after all fees.
Product Viability: Assess whether a product is profitable to sell on Amazon, especially for new product launches.
Comparing Fulfillment Methods: Understand the cost implications of choosing FBA versus FBM for specific products.
Budgeting and Forecasting: Estimate monthly expenses and potential profits for your Amazon business.
function calculateFees() {
var sellingPrice = parseFloat(document.getElementById("sellingPrice").value);
var itemCost = parseFloat(document.getElementById("itemCost").value);
var shippingCost = parseFloat(document.getElementById("shippingCost").value);
var fulfillmentType = document.getElementById("fulfillmentType").value;
var fbaFees = parseFloat(document.getElementById("fbaFees").value);
var storageFees = parseFloat(document.getElementById("storageFees").value);
var referralFeeRate = parseFloat(document.getElementById("referralFeeRate").value);
var closingFeeRate = parseFloat(document.getElementById("closingFeeRate").value);
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = ""; // Clear previous results
// — Input Validation —
if (isNaN(sellingPrice) || sellingPrice <= 0) {
resultDiv.innerHTML = "Please enter a valid Selling Price per Unit.";
return;
}
if (isNaN(itemCost) || itemCost < 0) {
resultDiv.innerHTML = "Please enter a valid Cost of Goods Sold per Unit.";
return;
}
if (fulfillmentType === 'FBM' && (isNaN(shippingCost) || shippingCost < 0)) {
resultDiv.innerHTML = "Please enter a valid Shipping Cost to Customer for FBM.";
return;
}
if (isNaN(referralFeeRate) || referralFeeRate 100) {
resultDiv.innerHTML = "Please enter a valid Referral Fee Rate (0-100%).";
return;
}
if (isNaN(closingFeeRate) || closingFeeRate 100) {
resultDiv.innerHTML = "Please enter a valid Closing Fee Rate (0-100%).";
return;
}
if (fulfillmentType === 'FBA') {
if (isNaN(fbaFees) || fbaFees < 0) {
resultDiv.innerHTML = "Please enter valid FBA Fulfillment Fees per Unit.";
return;
}
if (isNaN(storageFees) || storageFees < 0) {
resultDiv.innerHTML = "Please enter valid Monthly Storage Fees per Unit.";
return;
}
}
// — Calculations —
var referralFee = sellingPrice * (referralFeeRate / 100);
var closingFee = sellingPrice * (closingFeeRate / 100);
var totalFees = 0;
var fulfillmentCostPerUnit = 0;
var feeBreakdown = "Fee Breakdown:";
if (fulfillmentType === "FBA") {
fulfillmentCostPerUnit = fbaFees + storageFees; // Simplified: assumes storage fees are directly attributable per unit sold for this calculation period.
totalFees = referralFee + closingFee + fulfillmentCostPerUnit;
feeBreakdown += `- Referral Fee: $${referralFee.toFixed(2)}`;
feeBreakdown += `- Closing Fee: $${closingFee.toFixed(2)}`;
feeBreakdown += `- FBA Fulfillment: $${fbaFees.toFixed(2)}`;
feeBreakdown += `- FBA Storage (allocated): $${storageFees.toFixed(2)}`;
} else { // FBM
totalFees = referralFee + closingFee + shippingCost; // Include customer shipping as part of costs to the seller
feeBreakdown += `- Referral Fee: $${referralFee.toFixed(2)}`;
feeBreakdown += `- Closing Fee: $${closingFee.toFixed(2)}`;
feeBreakdown += `- Shipping to Customer: $${shippingCost.toFixed(2)}`;
}
var netProfit = sellingPrice – itemCost – totalFees;
var profitMargin = (netProfit / sellingPrice) * 100;
// — Display Result —
resultDiv.innerHTML = `
Net Profit per Unit: $${netProfit.toFixed(2)}
Profit Margin: ${profitMargin.toFixed(2)}%
Total Fees per Unit: $${totalFees.toFixed(2)}
${feeBreakdown}
`;
}
// — Handle dynamic display of FBA inputs —
var fulfillmentSelect = document.getElementById("fulfillmentType");
var fbaFeesInputDiv = document.getElementById("fbaFeesInput");
function toggleFbaInputs() {
if (fulfillmentSelect.value === "FBA") {
fbaFeesInputDiv.style.display = "block";
} else {
fbaFeesInputDiv.style.display = "none";
// Clear FBA specific fields if FBM is selected
document.getElementById("fbaFees").value = "";
document.getElementById("storageFees").value = "";
}
}
fulfillmentSelect.addEventListener("change", toggleFbaInputs);
// Initial check on page load
toggleFbaInputs();