Landed Cost & Import Duty Allocation
Allocates freight, duty, insurance and clearance charges across receipt lines so NetSuite inventory carries true landed cost. Built to order by ECOSIRE against your allocation rules and cost bases.
A NetSuite SuiteScript 2.1 app that ingests marketplace settlement reports,
maps each fee type to a GL account and posts balanced journals that reconcile to the payout. Built to order after a scoping call and fixed quote.
受注制作
A NetSuite SuiteScript 2.1 app that ingests marketplace settlement reports, maps each fee type to a GL account and posts balanced journals that reconcile to the payout. Built to order after a scoping call and fixed quote. Built to order by ECOSIRE for Oracle NetSuite (build-to-order) — indicative price from $999.00 USD; request a quote for a scoped proposal.

A marketplace settlement report is not a payout figure. It is a ledger of everything that happened in the period: order revenue, shipping charged to the buyer, gift-wrap, promotional rebates, referral fees, fulfillment fees, storage fees, long-term storage surcharges, advertising, refunds, refund commission credits, chargebacks, reimbursements, subscription fees, and adjustments the marketplace does not always explain. Dozens of distinct fee types, and the net of all of it hits your bank account as one number.
Most finance teams handle this by downloading the report, pivoting it in a spreadsheet, and hand-keying a journal entry each period. The consequences are predictable. Gross revenue is understated because the fees were netted out before the journal was written. Fees land in a single catch-all expense account, so nobody can tell what fulfillment actually costs versus advertising. The bank reconciliation never quite ties, so someone posts a plug. Month-end takes days longer than it should. And when the marketplace introduces a new fee type mid-quarter, the spreadsheet silently drops it into the wrong bucket.
We build a NetSuite customization that ingests settlement reports, maps every line to accounting you have defined, and posts journal entries that balance to the payout — with the mapping visible and maintainable by your accountants rather than buried in code.
The centrepiece is a custom record, customrecord_eco_settlement_map, holding one row per fee type per marketplace per subsidiary. Each row carries the marketplace's own transaction and amount-type identifiers, the target GL account, an optional department, class and location, and an effective date range so a mid-year account change does not rewrite history. Your controller maintains this in the NetSuite UI. No script edit is needed to add a fee type or move one account.
Critically, the design fails loudly. When a settlement line arrives with a combination that has no active mapping row, the script does not guess and does not silently sweep it into a default account. It posts the batch to a suspense account you nominate, flags the line, and raises an alert so someone maps it deliberately.
A Scheduled script retrieves finished settlement reports from the marketplace API on a cadence you set, or accepts a file dropped into the File Cabinet if you prefer manual control during rollout. A Map/Reduce script parses the report, groups lines by settlement ID, and stages them on a settlement header and line custom record pair. Reports run large, so parsing is chunked through Map/Reduce stages to stay within governance limits rather than timing out on a single Scheduled script.
Each settlement header stores the marketplace, the settlement ID, the period start and end, the deposit date, the marketplace's stated net, the currency and the computed total from the lines. If those two totals disagree, the settlement is held and flagged rather than posted.
Once a settlement is parsed, balanced and fully mapped, the script creates a journal entry summarising the period by GL account, with the net debited to the clearing account you use for that marketplace's deposits. When the deposit lands, the clearing account balance is the deposit amount, so bank reconciliation is a match rather than an investigation.
Where you need order-level attribution rather than a period summary, we can post at order granularity or apply settlement lines against existing NetSuite transactions — the trade-off between ledger volume and traceability is a scoping decision, and we build what you choose.
For accounts settling in more than one currency, the journal is posted in the settlement currency against the correct subsidiary, with the exchange rate taken from the rate you nominate — NetSuite's rate on the deposit date, the marketplace's stated rate, or a rate type of your choosing. Realised FX difference is posted to the account you specify rather than absorbed into fee expense.
We deliver saved searches and a settlement dashboard covering fee expense by type and period, unmapped lines awaiting attention, settlements held for imbalance, refunds and reimbursements by reason, and a clearing-account aging so anything stuck is visible. Because fees land in distinct accounts, contribution margin per marketplace becomes a real report instead of an estimate.
Finance teams closing books on NetSuite with meaningful marketplace revenue — typically anyone whose settlement journal is currently hand-keyed, whose fee expense sits in one account, or whose marketplace clearing balance never quite reaches zero. It is equally relevant to a single-entity seller with one marketplace and to a OneWorld group settling in several currencies across subsidiaries.
Scoping call. We review a real settlement report from your account, your chart of accounts, your clearing and suspense accounts, your subsidiary and currency setup, and whether you need summary or order-level posting. We agree the initial mapping rows together.
Fixed quote. You receive a written scope, the object list, price and delivery window before development begins. Lead time is typically one working week from acceptance.
Build. We develop as an SDF project using SuiteScript 2.1, with marketplace credentials held in NetSuite's secrets management.
Install in sandbox. We deploy to your sandbox, load several real historical settlement periods, and post them alongside your existing manual journals so you can compare line by line before trusting it.
Install in production. We deploy the bundle, load the agreed mapping, configure roles and script schedules, and run the first live settlement with your finance team present.
Support. A support window is included from go-live covering defects, new fee types appearing within the delivered scope, and questions from your team. You own the code and the SDF project.
A short call to confirm the workflow, your platform version and where the integration boundaries sit.
You receive a written scope and a fixed price. Nothing is built until you approve it.
We develop against a copy of your configuration and test it there. Typically two to four weeks.
お客様の環境にインストールし、ソースコードをお渡しします。本番稼働後2週間のサポート付きです。納品したコードの不具合は無償で修正します。
Hand-keys a settlement journal every period from a spreadsheet pivot and cannot explain the marketplace clearing balance at month-end. Gets balanced journals posted from the source report with a clearing account that ties to the actual deposit.
Cannot report contribution margin per marketplace because referral, fulfillment, storage and advertising fees all sit in one expense account. Each fee type posts to its own account with department, class and location, making margin analysis a saved search rather than a project.
Is asked to change fee coding every time the marketplace introduces a new charge, which currently means a script change. Hands the mapping table to finance, who maintain it in the UI, while unmapped types surface as flagged suspense lines instead of silent misposting.
| 基準 | エコシエール | カスタムビルド | 競合他社 | NetSuite 標準機能 |
|---|---|---|---|---|
| Every settlement fee type mapped to a specific GL account | 付属 | 付属 | 部分的なサポート | 含まれていない |
| Mapping table maintained by finance in the UI, no script change | 付属 | 部分的なサポート | 部分的なサポート | 含まれていない |
| Unmapped fee types held in suspense and flagged rather than defaulted | 付属 | 部分的なサポート | 含まれていない | 含まれていない |
| Journal net ties to the marketplace clearing account and bank deposit | 付属 | 付属 | 部分的なサポート | 含まれていない |
| Multi-currency posting per OneWorld subsidiary with configurable rate source | 付属 | 部分的なサポート | 部分的なサポート | 部分的なサポート |
| Imbalance guard holding settlements that do not reconcile to the stated net | 付属 | 部分的なサポート | 含まれていない | 含まれていない |
| Source code and SDF project owned by the customer | 付属 | 付属 | 含まれていない | 含まれていない |
| Fixed quote agreed before development starts | 付属 | 含まれていない | 部分的なサポート | 含まれていない |
Allocates freight, duty, insurance and clearance charges across receipt lines so NetSuite inventory carries true landed cost. Built to order by ECOSIRE against your allocation rules and cost bases.

Lot and serial genealogy for NetSuite: trace any lot forward to customers and backward to vendors, and generate a recall pack in one click. Built to order for your account after a fixed quote.

A camera-based mobile warehouse app that runs inside your own NetSuite account for receiving, putaway, picking and counting. Built to order for your bins, item types and roles — not a ready-made download.

A shipping hub built into your NetSuite account: rate shopping, cartonisation, ZPL and PDF labels, tracking write-back and export documents across every carrier account you hold. Built to order, not downloaded.