Vendor Price List Intake
Getting vendor price lists into the pricing app — email pipelines, parsing with pricing_app_parse_price_list, and handing off to the file import workflow.
How a vendor price list goes from an inbound email to live products in the
pricing app. This page covers the intake side — getting the data onto
nvrbackup and parsed. The actual import mechanics live on
Pricing App File Import; this page hands
off to it.
The shape of the workflow
1. Receive the vendor price list (usually email)
2. Get it onto nvrbackup
3. Parse / normalize with pricing_app_parse_price_list
4. Import via the file import workflow
Steps 2–4 are exactly the Pricing App File Import flow. The only thing that changes vendor to vendor is how the list arrives and any per-vendor quirk in step 1.
Email pipelines
Most vendors send price lists as email attachments or inline tables. The
intake job is to extract that content, land it on nvrbackup, and parse it.
Aqua Systems
Aqua Systems sends prices as recurring emails with the CSV attached. Pipeline:
download attachment → save to nvrbackup → parse → import
The gmail_get_attachment tool handles the download. From there it’s the
standard file import flow.
D&H
The D&H category importer requires the dandh-tenant header on every API
call. The D&H API does not support server-side category filtering, so the
importer pulls everything and post-filters client-side. Expect a longer pull
and some ASIN enrichment gaps — this is documented in more detail under the
vendor notes on
Pricing App File Import.
Parsing with pricing_app_parse_price_list
Once the raw list is available, pricing_app_parse_price_list normalizes it
into a CSV on the server. Point it at an output_path on nvrbackup so the
file lands where the importer can read it:
pricing_app_parse_price_list(
raw_text="<normalized vendor rows>",
vendor_name="<Vendor>",
output_path="/tmp/<vendor>.csv",
)
Handing off to the import
With a parsed CSV on nvrbackup, the rest is the standard import:
pricing_app_create_file_import(
file_path="/tmp/<vendor>.csv",
vendor_name="<Vendor>",
use_generic_parser=True,
)
Monitor with pricing_app_get_import_status or pricing_app_monitor_import.
Path rules, the use_generic_parser=True requirement, and the
“success but no products landed” troubleshooting all live on
Pricing App File Import — read it before
writing any import code.
Related pages
- Pricing App File Import — the import mechanics this page hands off to
- Hosts —
nvrbackupaccess and the exports/workspace paths