Getting your review ready
Two exports.
A traceable calculation.
Use FulfilCheck with one warehouse provider’s invoice and its agreed flat per-unit rates. Export Excel or Google Sheets files as UTF-8 CSV first. You can also paste a tab-separated selection with column headings.
Prepare a clean export
Choose one provider and a single invoice or clearly bounded billing period. Keep the original export with your review. Each invoice file can contain up to 10,000 charge rows and 5 MB; filter a larger export before importing.
- Keep one billed charge per row. Remove subtotals and grand totals. Joining orders, packages and invoice tables can multiply amounts or drop charges without an order reference. Check row counts and totals after any join. ShipMonk’s reporting guide explains these pitfalls.
- Preserve the identifiers. Keep invoice, line and reference IDs as text, including leading zeros. An order reference can appear on several valid charges. If line IDs are missing, request a detailed export from your provider; do not invent them or substitute order numbers.
- Choose one currency basis. Unit price, line amount and currency must belong together and match the rate card. ShipMonk’s Invoice Item schema, for example, separates original and converted prices. Do not combine an original unit price with a converted total.
- Use the agreed billing unit. Obtain missing units from the agreement or provider. Keep items, orders, cartons and pallets distinct; do not label a mixed-unit file as “order.” The invoice and rate card must use the same units.
- Confirm what each date means. Use the charge date that determines the agreed rate, formatted YYYY-MM-DD. Check the export’s date range and timezone before comparing it with another report. ShipMonk documents UTC versus warehouse-local reporting differences.
Invoice columns
Required: invoice_id, line_id, date, service, unit, quantity, amount. Optional: unit_rate, currency, reference. Choose the corresponding columns after importing. Dates use YYYY-MM-DD. Preserve line IDs as text, including leading zeros. Row numbers in reports identify CSV records, including the header as row 1.
Use invoice line amounts and rates on the same tax basis. A billed unit rate enables a separate quantity × rate check. Do not include subtotal or grand-total rows as charge lines. Negative amounts are credits and remain separate from rate differences.
Rate-card columns
Required: service, unit, unit_rate. Optional: currency, effective_from, effective_to, minimum, pricing_model. Each row represents one flat per-unit rule, optionally with a per-line minimum. A blank pricing model means flat. If your agreement uses tiers, monthly minimums, fuel percentages, dimensional-weight bands or another calculation, set pricing_model to that model’s name; those charges will stay unassessed.
Blank effective dates mean the rate has no date boundary. Both boundaries are inclusive. Service codes match after trimming spaces and ignoring case; units match the same way. No conversion is made between cartons, pallets, items, orders or currencies. Matching rate rules must not overlap.
Numbers and rounding
Choose a decimal point or decimal comma. Do not use thousands separators or currency symbols. Quantities and unit rates support up to six decimal places; amounts and minimum charges support two. Calculations use exact fixed-point arithmetic and round each line to cents, with half cents rounded away from zero. Your rounding tolerance applies to each line, not to the invoice total.
What the results mean
- Rate difference: the billed amount differs from the supplied rate calculation by more than the tolerance. It may have a valid explanation.
- Within tolerance: the amounts agree under the supplied rules. This does not check whether the warehouse performed the activity or counted units correctly.
- Duplicate line ID: an invoice and line ID repeats. Every copy stays out of the rate-difference total until you resolve it.
- Not assessed: evidence is missing, invalid or ambiguous, or the pricing model is unsupported. This is not counted as an overcharge.
- Credit: a negative invoice line, not yet allocated to a prior charge. It is not counted as a recovered finding.
“Above calculated rates” adds positive differences on assessed lines only. “Below calculated rates” is separate. Neither is offset by credits or unresolved duplicate charges. The invoice net total includes every readable amount supplied, including duplicate records and credits. Invalid amounts cannot enter any total. Different currencies have separate summaries.
Decisions, notes and exports
Open a line to record your decision and note. CSV export includes all lines, regardless of the current filter. Print also includes all lines. “Prepare provider email” uses only lines you marked “Query provider”; it creates an editable draft and never sends it.
Rerunning an unchanged review keeps your decisions and notes. When invoice lines, rate rules or settings change, decisions return to “Not reviewed.” Notes carry over only on unchanged lines that can be identified unambiguously.
“Save review” downloads a JSON file containing the original tables, column mappings, settings and your notes. Store it privately. “Open a review” recalculates the findings and restores the notes. Reloading or closing the page clears the current workspace unless you saved a review file. There is no automatic cloud backup or team sync.
Privacy
Invoice files, rate cards, calculations and notes are processed in this browser. FulfilCheck has no document-upload endpoint and does not send your inputs to an AI service. This version has no analytics scripts, advertising cookies or account database. The hosting provider handles normal website requests; imported file contents are not included in those requests.
Contact links open your email app. Sending an email shares whatever you choose to include with the recipient. Do not send confidential invoices with a general product enquiry. Contact fulfil@ventus.pro to discuss a workflow.
Free checker and monthly workspace
The current checker and exports are free. The proposed US$49/month workspace is a launch enquiry, not an active subscription. No payment details are collected here. Rate checks organize evidence for your review; they do not approve payments, certify an invoice or determine contractual rights.