zpoint/vibe-seller/noon-exports
Claude Code and agent skill by zpoint/vibe-seller
- community
Checking that the SKILL.md file is still in the repository.
Noon data exports — Sales report (per country), Transaction View (multi-contract CSV with status enum gotchas), Catalog Exports (Content / Pricing / Stock / Reports). Load when downloading sales, finance, transaction, or catalog data from noon.
Install
npx vskill@latest install zpoint/vibe-seller/noon-exportsSKILL.md
Noon — Data Exports
PREREQUISITE: Read../noon-shared/SKILL.mdfor login, pagestructure, and the per-store download directory.
Three export surfaces, each with its own quirks: Sales (per country), Transaction View (multi-contract, long polling, status enum), Catalog Exports (typed templates).
1. Sales Export (Per Country)
URL: https://reports.noon.partners/en/sales/?project=PRJ{project_id}
Country Switching
Use the "My Stores" dropdown at bottom-left, NOT the "Destination" filter in the toolbar. Each store shows a flag icon.
Date Range for Last Month
⚠️ The page opens on a ROLLING 30-DAY window, not last month. On3 August the inputs read2026-07-04 → 2026-08-03. Export withouttouching them and you get a file that **misses the first days of themonth and includes days from this one** — the same trap as the AmazonFBA-returns preset, and just as quiet: the CSV looks perfectly normal.Observed live twice, once by hand and once in a scheduled run.So: set the range, then read it back before you export. A monthlyreport whose window is off by three days at each end is worse than amissing one, because nothing downstream can tell.```bashbrowser-use <<'PY'# Read the two date inputs BY NAME. Collecting every input on the page# returns unrelated controls too, and then it is guesswork which pair of# values is the committed range — which is the same guessing this# readback exists to remove.print(js("return ['Start date','End date'].map(function(p){""var i=document.querySelector('input[placeholder=\"'+p+'\"]');""return p+'='+(i?i.value:'MISSING');});"))# MUST show the 1st and the last day of the target month before you# click Export. If it shows today's date or a 30-day window, the range# never committed — set it again.PY```
URL reflects dates: ?from_date=2026-03-01&to_date=2026-03-31.
Export Flow (Verified)
- Click Export button → modal appears
- Modal shows previous export file with download link (if any)
- Click "New export" to regenerate
- Wait ~10-30s for "Exporting" spinner to finish
- Download link appears with filename:
sales_export_{date}_{time}_{project}_{country}_{seq}.csv
- Click download link
- Close modal
Both Countries
After the first country's export, close modal, switch "My Stores" to the next country, repeat.
2. Transaction View Export
URL: https://noon-payments.noon.partners/en/transaction-view?project=PRJ{project_id}
Left nav: SOA, Statements, Transaction View, Invoices & Creditnotes, Legacy Exports.
Critical facts (read before acting)
- One unfiltered export covers every contract in the project.
A single Transaction View export for a project that has multiple country contracts produces one CSV with rows for every contract — identifiable by the Contract / Contract Title columns (e.g. MPXXXXXXXXEG,Noon EG and MPXXXXXXXXKW,Noon KW). See "Transaction CSV Structure" below. Do not run one export per country — run one, then split locally with pandas / awk. To limit the export to a single country, filter the Contracts dropdown to that country's contract before clicking Download.
- Status enum is `Requested → Exporting → Processed` (not
"Processing → Completed"). When the panel row reads Processed, click the Export button on the right of that row — that is what actually writes the CSV. The first Download click only queues the export job. 2b. There are TWO "Export" buttons — do not confuse them. The main button (top of the page, near the Contracts / Transaction Type controls) initiates the job and its text flips to Exporting, then reverts to Export when done — clicking it again just queues a second job, it does NOT download. The button that actually downloads is a separate one inside the results panel (ExportBox_content__*) that renders below the transaction table after the job completes. Because both read "Export", a bare find(b => /^export$/.test(b.textContent)) matches the MAIN button first — always scope the panel click to the ExportBox_content container (see step 4). The reverting main button is easy to misread as "done, file saved" when nothing downloaded.
- Exports can take several minutes, occasionally >5. Do not
re-click Download while a previous export is still Exporting — each click queues a new EXP{…} job that competes for the same backend and usually extends the wait.
- Download location depends on the browser backend, not on
noon. The file is not guaranteed to land in ~/Downloads. See "Finding the downloaded file" below.
- `No data` disables the Download button. Date ranges with no
activity show a greyed-out button and no panel appears — that's a no-op, not a bug. Skip that range.
Country switching on Transaction View
The top-of-page flag widget (little arrow next to the country flag) is the country switcher — not the Contracts dropdown. The Contracts dropdown lists only contracts for the currently selected country, so after switching flag the dropdown repopulates.
But since unfiltered Download already covers all contracts, you usually don't need to switch country at all.
Download flow
API fallback (if page refreshes or panel disappears)
If the browser session disconnects or the page refreshes during the long wait, do NOT click Download again — the export job is still running on Noon's backend. Instead, query the status API directly and download via curl:
This avoids re-triggering the export and lets you recover a completed export even after a browser disconnect.
Finding the downloaded file
Downloads go to ~/.vibe-seller/downloads/<store-slug>/. This is a stable per-store directory managed by the CDP proxy (it overrides browser-use's random temp dirs).
File names for Transaction View exports start with noon_financeweb_transactionviewreportonitemlevelwithcontractselection and end with .csv. Repeat downloads get (1), (2) suffixes — always take the newest by mtime, then copy into the task workspace (dropping the (N) suffix). See the amazon-reports skill's "Download Behavior" section for the general pattern.
Transaction CSV Structure
Header columns (in order):
- `Contract` is the contract code — 12 chars,
MPprefix,
country-code suffix (e.g. MPXXXXXXXXEG, MPXXXXXXXXKW, MPXXXXXXXXOM). Use the last 2 chars to bucket by country.
- `Contract Title` is the human-readable name (
Noon EG,
Noon KW, …).
- Use either column to split a mixed-country export locally:
Observed Transaction Type values include order, order_update, statement_fee, payment, balance_transfer. Noon may add more; filter liberally when aggregating.
3. Catalog Exports
URL: https://noon-catalog.noon.partners/en/exports?project=PRJ{project_id}
Click Add Export → a modal with a Type dropdown button (and Cancel / Create):
| Type | Description | |
|---|---|---|
| Catalog Export | Full catalog data | |
| Content | Product titles, descriptions, images, attributes | |
| Pricing | Current + promotional prices | |
| Stock | Inventory levels | |
| Partner SKU Generate | Generate partner SKU mappings | |
| Reports | Performance/sales report data | |
| Global Catalog Export | Global catalog across markets |
Select type → Create → wait → download from Result column when Status shows "Completed" (1-10 minutes depending on size).
Tips
- Transaction View export covers all contracts by default —
one click produces one CSV with rows from every country contract. Don't export twice (see § 2).
- **Transaction View status enum is `Requested → Exporting →
Processed**, not "Processing → Completed". Click the Export button on the panel only after it reads Processed`.
- Exports can take up to 35 min — data-heavy months are
slower. Poll for at least 35 min before giving up. NEVER click Download again while a previous export is still processing — it queues a new job and makes everything slower.
- Export files land in `~/.vibe-seller/downloads/<store-slug>/`,
not ~/Downloads.
4. What the Transaction View does NOT give you
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingapp/skills_v2/noon-exports/SKILL.md
Popularity
- Repository stars
- 11
- Repository forks
- 3
- 7-day trend score
- 12
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/zpoint/vibe-seller/noon-exports)