WordPress og WooCommerce

hvordan importere grossistfeeder til woocommerce-produkter og lager

hvorfor grossist-csv-feeder fortsetter å bryte opp woocommerce-lageret

Grossistleverandører slipper CSV- eller XML-filer over natten med nye priser, pakkestørrelser og lager. Noen laster ned filen, åpner Excel, retter desimalkommaer og limer inn i en WooCommerce-importplugin. Midt på morgenen viser halvparten av katalogen null lager fordi en tom mengdekolonne ble behandlet som en oppdatering, eller en leverandør ga nytt navn til en produsentkode og hver kamp mislyktes. Butikker som selger samme SKU fra to grossister kjemper om hvilken fôr som vinner, og ERP-en i Comarch Optima eller Subiekt har fortsatt et tredje kvantum som innkjøp stoler mer på enn butikken. Manuell import ødelegger også anrikning. Redaktører brukte uker på PL- og EN-beskrivelser, attributtoversettelser og heltebilder; en full katalog erstatter fra grossisten overskriver titler med ALL CAPS leverandørstrenger og stripskategorier. Marginregler forsvinner når fôret sender bruttopriser og butikken forventer netto, eller omvendt. B2B-selgere opplever dette som plutselige prishopp som bryter med kontrakter med nøkkelkontoer som ble lovet en låst nettoprisliste. Feilmoduser sammensatt under belastning. En feed på 40 000 rader importert synkront gjennom WP-Admin blir tidsavbrutt, etterlater en delvis søknad, og ingen vet hvilke SKU-er som er forpliktet. Handlingsplanlegger hjelper bare hvis jobben er utformet som chunked upserts med en kjøre-ID. Uten karantenetabell kan én misformet EAN avbryte hele batchen hos strengere importører, eller enda verre, lykkes med feil enheter slik at du selger stykker som pakker. Virksomheten viser seg som oversalg, marginlekkasjer og sinte kontoadministratorer. Support lover utsendelse neste dag basert på grønt lager i butikken, mens grossist-API-en allerede returnerte null en time tidligere. Markedsføring lanserer en kampanje på en SKU hvis fôrpris steg over natten. Økonomi kan ikke forklare hvorfor butikkinntekter og Optima-kjøpspriser ikke lenger stemmer overens for samme artikkelkode. Automatisering her er ikke "kjør importplugin på cron". Det er en kontrollert rørledning: hent, valider, kartlegg, bruk deltaer med buffere, karanteneunntak og rapporter. Aksje- og prisoppdateringer bør kunne skilles fra innholdsoppdateringer slik at redaksjonelt arbeid overlever. Når en ERP er den sanne beholdningsreskontroen, bør grossistfeeden oppdatere innkjøp eller ERP først, og deretter la butikken motta et kontrollert push - ikke rase ERP med en parallell CSV-pasta. Sesongvariasjoner legger til et nytt lag. Før Black Friday kan en grossist presse optimistiske aksjer som fordamper ved middagstid; uten caps knyttet til bekreftede kjøpsordrer selger butikken for mange sett som kjøp aldri har bestilt. Omvendt, etter en containerankomst kan fôret ligge seks timer mens lageret allerede skannet paller inn i Subiekt, så butikken selger under. Automatiseringen må vite om grossistkvantumet er salgbart løfte eller bare leverandørlagersladder, og merke meta tilsvarende for støttemakroer. Innkjøp bør gjennomgå rader i karantene i en daglig stand-up i løpet av feed onboarding uker, deretter ukentlig en gang stabil. Fotografer eller arkiv prøvefiler for hver skjemaversjon leverandøren sender, så uenighet om kolonnebetydning er bevisbasert. Når ledetiden strekker seg over to uker, øk sikkerhetsbufferen og fortell markedsføringen hvilke SKU-er som er løftebegrensede kontra tilgjengelige. Operasjonelle detaljer for kontrollsum og trunkerte filbeskyttere: dokumenteiere, feileksempler og metrikken som beviser at kontrollen fungerer i produksjonen for denne WooCommerce-automatiseringen. Skriv runbook-trinnet, varslingsdestinasjonen og tilbakerullings- eller kompensasjonshandlingen slik at nattskiftstøtte kan handle uten å gjette. Ta med systemet med postnavn og korrelasjons-ID-feltet som brukes i logger. Sekvensmarkør no-grossist-feed-to-products-stock-pad-1.

når en grossistfeedslipp skal oppdatere butikkkatalogdata

Kjør etter at grossisten har lagt ut en ny fil til SFTP eller når deres API viser et «feed.updated»-tidsstempel som er nyere enn din siste vellykkede kjørings-ID. Typisk tråkkfrekvens er hver én til fjerde time for lager, nattlig for full prislister. Tillat også en manuell «replay_feed» med en spesifikk filversjon for gjenoppretting av hendelser. Ikke utløs på hvert bittesmå FTP-tidsstempelflimmer uten en endring i kontrollsummen, ellers vil du brenne API-grenser ved å omskrive identiske rader.

trinn for å kartlegge grossistrader til woocommerce-produkter på en sikker måte

  1. Hent feeden til objektlagring eller en oppsamlingsdisk, beregn sjekksum og nekt å behandle hvis filen er tom, avkortet under en radgulv eller identisk med den siste vellykkede sjekksummen.
  2. Parse rader med eksplisitte desimal- og kodingsregler. Normaliser leverandør SKU, EAN og din interne SKU gjennom kartleggingstabellen. Flagg ukjente SKU-er til en onboarding-kø i stedet for å automatisk opprette søppelprodukter med mindre policyen tillater kontrollert oppretting med en utkaststatus.
  3. Valider forretningsregler: maks pris deltaprosent, måleenhet, minimum ordrekvantum og lager ikke negativ. Bruk en sikkerhetsbuffer som holder butikklageret under grossistlageret når ledetidene er lange.
  4. Opphev WooCommerce-produkter i biter via REST eller et privilegert internt endepunkt: kun pris, lager, restordreflagg og kjøpsmeta. Hopp over innholdsfelt med mindre et eksplisitt innholdssynkroniseringsflagg er angitt for den leverandøren.
  5. Skriv en kjørerapport: rader ok, karantene, ukjente SKU-er og SKU-er som treffer pris-delta-bremsen. Varsle innkjøp når karantenen overskrider en terskel, og lagre kjørings-IDen på oppdaterte produkter for revisjon.
  6. Publiser et arrangement etter at det er kjørt, slik at Google Merchant-feeds, markedsplasslager-push og lavlagervarsler bruker den nye kjørings-ID-en først etter commit, og unngår halvoppdaterte kataloglesninger.

Systemer

  • WooCommerce
  • Wholesaler SFTP/API
  • Comarch Optima
  • Subiekt

Verktøy

  • n8n
  • WP-Cron
  • Action Scheduler
  • WooCommerce REST

hvordan ftp api og n8n flytter grossistdata inn i butikken

n8n eller en liten arbeider henter SFTP/API, lagrer råfilen og analyserer inn i en oppsamlingstabell. Kartlegging lever i et versjonert ark eller databasetabell som produktoperasjoner eier. WooCommerce-oppdateringer går gjennom REST med applikasjonspassord eller en tilpasset rute som omgår UI-importører, ved å bruke Action Scheduler inne i WordPress kun for de siste bitene hvis du trenger låser på butikksiden. Når Comarch Optima eller enova eier aksjer, oppdaterer feeden ERP-kjøpskort først; butikken lytter til ERP-deltaer i stedet for å bruke grossistlager direkte - som unngår dual-write-kamper. Make.com kan erstatte n8n for enkle CSV-tilfeller med én leverandør, men komplekse karantene- og deltabremser er klarere i n8n- eller tilpassede PHP-arbeidere. La aldri grossistens FTP-legitimasjon leve i et offentlig plugin-alternativ uten kryptering. Chunk-størrelsen bør matche vertsgrensene: noen hundre REST-oppdateringer per bølge med jitter slår en enkelt gigantisk admin-ajax-import. Lagre per-SKU siste feed-hash slik at uendrede rader hopper over skriving og ugyldiggjøring av objektbuffer forblir rolig. Når synkroniseringer av Google Merchant eller Marketplace avhenger av butikklager, sekvenser disse jobbene etter at feed-kjørings-ID-en er fullført i stedet for å kjøre midt i søknaden. For grossistinnmating til produktlager, hold kjørings-ID-er i operatørdashbord og side karteieren i stedet for en generisk innboks når feilraten øker. Operasjonelle detaljer for desimalkomma-normaliseringsregler: dokumenteiere, feileksempler og beregningen som beviser at kontrollen fungerer i produksjonen for denne WooCommerce-automatiseringen. Skriv runbook-trinnet, varslingsdestinasjonen og tilbakerullings- eller kompensasjonshandlingen slik at nattskiftstøtte kan handle uten å gjette. Ta med systemet med postnavn og korrelasjons-ID-feltet som brukes i logger. Sekvensmarkør no-grossist-feed-to-products-stock-pad-2. Hold behandlingsprotokoll i tråd med Datatilsynets forventninger når personopplysninger flyter.

hvordan sette dårlige grossistrader i karantene uten å tørke lager

Hvis filen mislykkes i kontrollsum- eller radgulv-kontroller, avbryt kjøringen og hold gårsdagens butikklager urørt. Sett individuelle dårlige rader i karantene uten å svikte hele batchen når feilen er lokal (dårlig pris, ukjent UOM). Hvis WooCommerce REST returnerer 429, pause chunk-arbeideren med backoff og gjenoppta den samme kjørings-IDen. Ved delvis butikkbrudd, ikke merk at kjøringen er vellykket: vedvarer markørforskyvninger slik at avspillingen fortsetter. Pris-delta-bremser bør kreve en menneskelig godkjenningshandling før avvikere brukes, logget med hvem som godkjente. Varsle når mer enn en bestemt andel av rader setter i karantene, fordi det vanligvis betyr at leverandøren endret kolonner. For SKU-er med to kilder, løs konflikter med en eksplisitt prioritetsliste i stedet for siste-skriv-vinner. Hvis versjonen av karttabellen ikke samsvarer med feedoverskriften, kan du ikke lukke og kjøpe siden. Tilbakeføring er sjelden en fullstendig kataloggjenoppretting; foretrekker kompenserende transaksjoner som kun tilbakestiller SKU-er som er berørt av den mislykkede kjørings-ID-en ved å bruke et øyeblikksbilde som ble tatt før kjøringen startet.

når en grossiststrømsynkronisering ikke er verdt å automatisere ennå

Du har færre enn noen hundre SKU-er som oppdateres ukentlig og en enkelt leverandør som allerede driver ren WooCommerce-klar CSV med stabile kolonner. I så fall kan en overvåket ukentlig import slå bygningskaranteneverktøy. Vent også om leverandøren bytter ut hele skjemaet hver måned uten varsel - stabiliser kontrakten først.

kpis for grossistfeed til woocommerce aksjehelse

  • Tid fra fôrsjekksum til siste del som ble utført
  • Andel rader i karantene per kjøring
  • Oversalg som kan tilskrives gammel grossistlager
  • Antall innholdsfelt som er overskrevet ved et uhell per måned

ROI-kalkulator for automatisering

Skriv inn kjøringer per måned, minutter per kjøring og belastet timekostnad. Resultatet er en simulering, ikke et tilbud på vårt arbeid.

Timer = kjøringer × minutter / 60 × tilbake %. Tidsverdi = timer × sats × realisering %. Unngåtte feil = kjøringer × feil % × feilkostnad × realisering %. Netto = sum − drift. Tilbakebetaling = bygging / netto, bare når netto > 0.

Timer hentet tilbake / måned: -

Timer hentet tilbake / år: -

Tidsverdi / måned: -

Unngått feilkostnad / måned: -

Netto / måned: -

Tilbakebetaling (måneder): -

Resultat første år: -

Artikkel-FAQ

Ofte stilte spørsmål

Praktiske svar for å bruke temaet i faktisk arbeid.

SEO-readyGEO-readyAEO-ready3 Q&A
Skal feeden automatisk lage nye produkter?#
Bare i utkast eller venter på gjennomgang, og bare når EAN og skatteklasse kan utledes trygt. Full publisering uten redaksjonell anmeldelse oversvømmer butikken med tynne sider og ødelagte attributter.
Hvordan håndterer du to grossister for én SKU?#
Oppretthold en prioriterings- og tildelingsregel: primærleverandørlager først, sekundært som overløp, med separate innkjøpskostnader. Aldri gjennomsnittlig lagre blindt på tvers av leverandører med forskjellige pakningsstørrelser.
Oppdaterer du lager og pris i samme løp?#
Foretrekk separate kadenser: lager ofte, priser på en kontrollert tidsplan med deltabremser. Kobling av dem gjør en dårlig priskolonne blokkerer hastende aksjekorreksjoner.

Trenger du FAQ tilpasset bransje og marked? Vi lager en versjon som støtter dine forretningsmål.

Ta kontakt

Beslektede caser