A custom Frappe app that automatically allocates freight, duty, insurance, and handling charges into item valuation across quantity, value, weight, or volume, giving importers and distributors on ERPNext accurate landed cost per item. Built to order, installed, and supported by ECOSIRE. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $299.00 USD; request a quote for a scoped proposal.
Illustrative previewA custom Frappe app that automatically allocates freight,
duty, insurance, and handling charges into item valuation across quantity, value, weight, or volume, giving importers and distributors on ERPNext accurate landed cost per item. Built to order, installed, and supported by ECOSIRE.
No DIY setup — a working app, built, installed and supported by ECOSIRE.
Start with a one-time build price. We scope it with you at kickoff.
ECOSIRE builds, configures and installs it on your ERPNext.
You go live in about 2–4 weeks, with a post-launch support window.
Importers and distributors running ERPNext know the pain: the price on the supplier invoice is never the real cost of the goods. Freight forwarders, customs duty, insurance, demurrage, and handling arrive as separate invoices, often days or weeks after the Purchase Receipt is submitted, and frequently in a different currency. ERPNext ships with a native Landed Cost Voucher, but it is a manual, after-the-fact document: someone has to remember to raise it, key in every charge, pick the receipts, and choose a single distribution basis for the whole voucher. When a team processes dozens of import shipments a month, this step gets skipped, delayed, or done wrong, and item valuation, COGS, and margin reporting drift away from reality.
ECOSIRE builds a proper Frappe app for you, delivered as its own module and DocTypes rather than a pile of loose customizations that break on the next bench update. At the center is a Shipment Cost DocType that captures every non-item charge for a consignment, each line carrying its own expense account, currency, exchange rate, and allocation basis. Unlike the single-basis native voucher, a child-table charge model lets one shipment mix bases: freight allocated by gross weight, customs duty by taxable value, insurance by declared value, and port handling flat per item. On submit, hooks.py document events fan the charges across the linked Purchase Receipt items, write the resulting per-unit adjustment back into stock valuation via the standard Stock Ledger Entry / GL Entry mechanism, and post the accounting so your balance sheet and stock account stay reconciled.
Technically, the app is built the way a maintainable Frappe app should be. Allocation logic lives in whitelisted server methods (@frappe.whitelist()), not in fragile UI hacks; document events (before_submit, on_submit, on_cancel, on_trash) enforce the valuation write-back and its reversal; and a Client Script adds live per-item breakdown preview on the form so users see landed cost before they commit. Multi-currency is handled at the charge line so a EUR freight invoice and a USD duty payment both resolve to company currency correctly. Everything is exposed over the Frappe REST API and whitelisted methods for integration with your freight-forwarder portal or a customs-broker feed, and a scheduler event can sweep unallocated shipments and nudge the responsible role. Role Profiles and DocType permissions keep charge entry, approval, and valuation posting properly segregated for audit.
Because this is build-to-order, nothing ships until we agree on your scope. We start with a short scoping call, confirm your charge types, allocation rules, chart-of-accounts mapping, and Frappe/ERPNext version (v15 or v16), then build against a staging copy of your data. You get the installable source, a UAT window on staging with a documented rollback plan, and go-live support. Typical delivery is 2 to 4 weeks from confirmed scope. You keep the git repository and the app remains yours to run on your own bench or on Frappe Cloud.
Runs high volumes of inbound international shipments and needs freight, duty, and insurance folded into item cost automatically, rather than chasing a manual Landed Cost Voucher for every consignment.
Owns COGS accuracy and margin reporting. Needs stock valuation and GL to stay reconciled after every allocation, with an auditable per-item breakdown and clean reversal when a shipment is cancelled.
Buys in bulk, sells on thin margins, and cannot afford valuation drift. Needs true landed cost per SKU so pricing and profitability decisions reflect actual delivered cost.
Maintains the bench and worries about upgrade safety. Wants a properly packaged Frappe app with documented hooks and permissions, not ad-hoc customizations that break on the next update.
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| Allocation automation | Auto-posts on Purchase Receipt submit via document events | Depends on what your developer builds | Usually a manual bulk tool | Manual Landed Cost Voucher per shipment |
| Allocation basis | Per-charge: mix weight, value, qty, volume in one shipment | Whatever is coded, often single-basis | Typically one basis per voucher | One basis per voucher |
| Multi-currency charges | Per-line currency and exchange rate to company currency | Only if explicitly built | Often single-currency | Limited, manual conversion |
| Per-item breakdown | Live form preview plus dedicated report | Build-dependent | Basic or none | No per-item breakdown view |
| Upgrade safety | Packaged Frappe app, tested for v15/v16 | Risk of ad-hoc code breaking on update | Varies by vendor maintenance | Core, but manual and unchanged |
| API / integration | Whitelisted methods and REST for forwarder feeds | Only if scoped in | Rarely exposed | Generic Frappe API, no landed-cost logic |
| Support model | Post-go-live window plus repo handover | Your team or contractor | Vendor SLA, often paid tier | Community / your own team |
| Cost predictability | Fixed scope after discovery call | Open-ended dev time and risk | License plus customization fees | Free but manual labor cost |
This is a build-to-order app, not an instant download. After a confirmed scope, typical delivery is 2 to 4 weeks. That covers building against a staging copy of your data, UAT, and go-live. The scoping call itself takes about 30 minutes and defines charge types, allocation rules, and account mapping.
We build for Frappe/ERPNext v15 and v16. We confirm your exact version and bench setup during scoping and deliver the app packaged and tested for that version, so it survives future `bench update` cycles rather than breaking on them.
ERPNext's native voucher is manual, after-the-fact, and uses a single distribution basis per voucher. Our app captures charges on a `Shipment Cost` DocType, lets each charge line use its own basis and currency, and posts the valuation write-back automatically via document events, while still going through the standard Stock Ledger and GL mechanism so nothing bypasses ERPNext's accounting.
On submit, the allocated charges are written back into item valuation through standard `Stock Ledger Entry` and `GL Entry` records, keeping your stock account and balance sheet reconciled. On cancel, the app reverses those entries cleanly, so allocations are never left orphaned.
Yes. Every engagement includes a post-go-live support window for defect fixes and configuration tweaks. Because you receive the git repository, you can also maintain it yourself or bring us back for enhancements and version upgrades. We provide compatibility notes and a re-test plan for future ERPNext updates.
Yes. Each charge line carries its own currency and exchange rate, so a EUR freight invoice and a USD duty payment on the same shipment both resolve correctly to your company currency before allocation.
The allocation and preview logic is exposed through the Frappe REST API and whitelisted methods, so a forwarder portal or broker feed can push charges in programmatically. We scope any specific integration during the discovery call and can add a scheduler-driven sync if you need it.

A build-to-order ERPNext app that lets 3PL operators bill each client for storage, handling, and value-added services with strict multi-owner inventory segregation and automated periodic invoicing. ECOSIRE builds, installs, and supports it for your warehouse.

A build-to-order ERPNext app that turns demand signals, supplier lead times and MOQs into an optimized, simulate-before-you-commit purchase order plan. ECOSIRE scopes, builds, installs and supports it on your bench.

A bin-level warehouse management layer for ERPNext that adds directed putaway, wave and zone picking, and FEFO/FIFO enforcement. ECOSIRE builds it to your operation's rules, installs it on your Frappe bench, and supports it after go-live.

A build-to-order Frappe app that scores every ERPNext order against your live carrier mix and recommends the optimal carrier and service by cost, transit time, lane reliability, and RTO risk. ECOSIRE designs, builds, installs, and supports it for your specific carriers and rules.
A custom Frappe app that automatically allocates freight, duty, insurance, and handling charges into item valuation across quantity, value, weight, or volume, giving importers and distributors on ERPNext accurate landed cost per item. Built to order, installed, and supported by ECOSIRE.