Inventaris in bulk bewerken (Amazon)

Uit De Vliegende Brigade
(Doorverwezen vanaf Manage Inventory (Amazon))
Ga naar: navigatie, zoeken
Beschikbare upload-sjablonen voor Amazon.es
Beschikbare upload-sjablonen voor Amazon.co.uk
Een aardige impressie van verschillende bestandstypes + use cases - bron

Hoe kun je bestaande listings in bulk aanpassen? Bv.:

  • Hoe kun je in bulk wijzigingen aanbrengen aan producten op Amazon?
  • Kun je via de webinterface bulkbewerkingen uitvoeren? Of alleen via upload-bestanden?
  • Welke sjablonen heb je nodig om bepaalde bewerkingen uit te voeren?
  • Amazon maakt onderscheid tussen stamgegevens en aanbiedingen. Van bestaande producten mag je niet zomaar de stamgegevens aanpassen. Hoe bewerk je niet-stamgegevens in bulk? Bv. uploaden van aangepaste prijzen?

Er zijn een paar manieren om in bulk dingen aan te passen:

  • Via de webinterface (SellerCentral)
  • Via upload-bestanden
  • Via API-koppelingen.

Dit artikel beperkt zich tot de eerste twee mogelijkheden.

Bulkhandelingen via Seller Central (beperkte mogelijkheden)

Via Seller Central kun je mbv. filters een selectie van producten maken, en daar bulkbewerkingen op uitvoeren. Helaas is het aantal beschikbare bewerkingen beperkt:

  • Match low price
  • Close listing
  • Delete product and listing.

Eén van de dingen die je dus niet kunt doen, is alle prijzen aanpassen met bv. 10%.

Nog een paar beperkingen:

  • Dit gaat per scherm. Je kunt een handeling dus op maximaal 250 producten toepassen
  • Handelingen moeten herhaald worden voor alle marktplaatsen.

Beschikbare upload-sjablonen + toepassingen

Indien updates via Seller Central geen oplossing biedt, dan wellicht de updates via een sjabloon uploaden? In dat geval: Welk sjabloon heb je nodig voor welke klus?

Inventaris

Wat ik zoal aan bestandstypen tegenkom:

  1. Inventory Files for non-Media Categories
  2. Inventory Loader
  3. Listing Loader
  4. Listing Quality and Suppressed Listing File
  5. Music Loader File
  6. Price & Quantity File
  7. Shipping Overrides File
  8. Standard Book Loader File
  9. UIEE File for Books
  10. Video Loader File

Toepassingen

Dit lijstje is niet compleet:

  • Nieuwe producten toevoegen? → Inventory Files for non-Media Categories
  • Producten discontinueren? → Inventory Loader
  • Nieuwe prijzen? → Price & Quantity File

Sjabloon: Inventory Files for non-Media Categories

  • Dit is hetzelfde als Category-specific inventory files: Voor uploaden van nieuwe producten
  • Voor dit sjabloon moet je de classificatie van je producten kennen
  • Zie Inventaris-upload (Amazon) voor details.

Sjabloon: Inventory Loader

[1]:

The Inventory Loader enables you to do the following:

* Upload thousands of listings in a single file for matching against existing product pages on Amazon
* Keep your listings up-to-date by modifying existing products
* Add new inventory
* Delete or "zero" inventory quantities for unavailable products
* Purge and replace all listings

To use the page matching features of Inventory Loader, you must provide a product identifier and specific 
information about your offer. You can use a SKU and selected listing data when modifying existing listings.

Because Inventory Loader cannot be used to create new product detail pages, you do not need to provide 
detailed product data. A single Inventory Loader file can be used to upload or modify listings in 
multiple product categories at the same time.

Sjabloon: Listing Loader

Mysterieuse broertje van de Inventory Loader. Héél geheimzinnig [2].

Sjabloon: Price & Quantity File

Voor prijsaanpassingen gebruik ik altijd dit sjabloon. Werkt recht-toe-recht-aan. Zie verderop voor details en casussen.

Prijzen in bulk aanpassen - Inventaris

Verschillende methodes om in bulk prijzen aan te passen van een groep artikelen:

  • Seller Central: Seller Central » Managing Pricing - Weinig mogelijkheden
  • API-koppeling: Via API-koppeling (nog geen ervaring mee)
  • Reports: Download een inventaris-bestand en upload deze in gewijzigde vorm → Dit werkt goed. De uitleg hieronder heeft hierop betrekking.

Prijzen in bulk aanpassen mbv. reports

(Custom) Inventory Report: Ook geschikt om bv. zakelijke prijzen te downloaden
Importeren in Calc: Recht-toe-recht-aan, maar vergeet Taal niet!

Dit is hoe ik in de praktijk prijzen in bulk aanpas: Ik download de inventaris vanaf Seller Central. Ik pas de gegevens aan, en ik upload 'm weer.

Waarom niet vanuit dwh?

Het lijkt een beetje raar, dat ik als bron van productgegevens Seller Central gebruik, en niet m'n eigen datawarehouse (dwh), waar de data oorspronkelijk vandaan komt. De reden: De inventaris op Amazon is niet afkomstig van één upload. Het is het resultaat van misschien wel tientallen uploads, verspreid over meerdere jaren. Die gegevens heb ik niet zomaar beschikbaar in het dwh, en al helemaal niet op een betrouwbare manier.

Sjabloon downloaden

  • Sjablonen: Seller Central → Inventory → Inventory Reports
  • Vermoedelijk zijn er meer geschikte sjablonen, maar Inventory Report (Custom) bevalt prima. Deze heeft minimaal drie kolommen: SKU, Asin & prijs (kolom Asin kun je niet weglaten)
  • Het gedownloade bestand is een .txt-bestand

Sjabloon importeren in Calc

  • Tijdens importeren kun je de taal van het bronbestand specificeren. Daardoor wordt het decimaalscheidingsteken aangepast - Handig!
  • Geef aan dat de kolom SKU een tekstkolom is. Anders worden eventuele voorloopnullen in numerieke SKU's verwijderd
  • De kolom Asin kun je verbergen (hide). Dan wordt-ie niet geïmporteerd
  • Alleen tab als kolomscheidingsteken.

Prijzen aanpassen

Daarna kun je de prijzen aanpassen. Bv.

=round(1,1*<cel>;2)

om de prijzen met 10% te verhogen en af te ronden op twee decimalen.

Exporteren vanuit Calc

  • Bij importeren in Calc kun je het decimaalscheidingsteken aanpassen. Bij exporteren vanuit Calc, kan dat niet. Twee mogelijkheden:
    • Handmatig: Selecteer de kolom price en vervang punten door komma's
    • De betreffende kolommen selecteren en de taal aanpassen (CTRL-1 - Cell properties) - Dit vind ik de handigste oplossing
  • Let op: Sommige marktplaatsen verwachten een komma als decimaalscheidingsteken (bv. Duitsland)
  • Vervang punten en komma's niet in het hele document, want deze tekens komen ook voor in het veld SKU
  • Daarna gewoon opslaan, waarbij het oorspronkelijke txt-bestand mogelijk wordt overschreven.

Importeren

  • Seller Central → Inventory → Add products via upload → Step 2: Upload file → File type: Price & Quantity File

Bulk relist - De mogelijkheden

Via de webinterface kun je vrij efficiënt grote hoeveelheden producten status close listing geven: Bij elk product een vinkje zetten, en daarna in één keer de status van alle aangevinkte producten aanpassen.

Uiteraard zou het handig zijn als je ook met één druk op de knop deze producten weer kunt activeren. Volgens mij kan dat niet: Je moet artikelen stuk voor stuk openen en van status veranderen. Dat kost een paar klikken per artikel. Dat is onwerkbaar als het om honderden artikelen gaat. Wat wel kan:

  • Alle producten verwijderen en opnieuw uploaden
  • Alle producten uploaden? De eerste keer dat ik dit probeerde, leek het erop, dat dit hetzelfde werkte als relist. Bij latere pogingen ben ik hierover gaan twijfelen.

Casus: Prijzen merk x verhogen met € 2,50 (dec. 2016)

  • Je hoeft alleen SKU's en prijzen aan te leveren
  • Non-categorie-specifieke sjabloon Flat.File.PriceInventory.de.xls gedownload van https://sellercentral.amazon.de/gp/help/1641/ref=ag_1641_cont_200385490
  • Een inventaris-raport gedownload (Inventory+Report+12-14-2016.txt, het minst complexe rapport dat er is) om een accuraat overzicht te hebben van sku's, namen en prijzen
  • In dit gedownloade bestand handmatig de prijzen aangepast
  • Kolommen sku & price gekopiëerd naar het gedownloade sjabloon. Geen andere kolommen ingevuld

Iteratie 1 - .ods-bestand

  • Eigenlijke bestandsnaam maakt niet uit
  • Niet geaccepteerd: Ik had per ongeluk het .ods-bestand geüpload. Foutmelding gaf aan dat .txt ook mag. Da's handig!
Feed Processing Summary:
	Number of records processed		0
	Number of records successful		0

original-record-number	sku	error-code	error-type	error-message
0 90502	Fatal The file does not contain a worksheet with a template type that is supported for Excel upload. 
        Please save your file in a tab-delimited text file format (*.txt) and upload again.

Iteratie 2 - .csv-bestand

  • .csv-bestand, tab-gescheiden, geen enclosure van tekstwaardes
  • Niet geaccepteerd. Foutmelding:
The file's header row is missing or invalid. The header row is for Amazon use only and must 
not be modified or deleted. To correct this error, download the template again from seller 
Help and use that new copy, or insert the correct header row directly above the column 
headings in your existing file.

Iteratie 3 - Complete eerste rij overgenomen

Complete eerste regel uit het gedwonloade sjabloon overgenomen in het uploadbestand:

sku	price	minimum-seller-allowed-price	maximum-seller-allowed-price	quantity	fulfillment-channel	leadtime-to-ship

Iteratie 4

Zelfde foutmelding.

Iteratie 5 - Helemaal opnieuw

Feed Processing Summary:
	Number of records processed		0
	Number of records successful		0

original-record-number	sku	error-code	error-type	error-message
0		90502	Fatal	The file does not contain a worksheet with a template type that is supported for Excel upload. Please save your file in a tab-delimited text file format (*.txt) and upload again.

Iteratie 6 - Komma als decimaalscheidingsteken

Punten vervangen door komma's als decimaalscheidingsteken. Geen verbetering:

Feed Processing Summary:
	Number of records processed		0
	Number of records successful		0

original-record-number	sku	error-code	error-type	error-message
0		90502	Fatal	The file does not contain a worksheet with a template type that is supported for Excel upload. Please save your file in a tab-delimited text file format (*.txt) and upload again.

Iteratie 7 - Tekstbestand & komma's

Nu als tekstbestand:

  • Tab-separated
  • Tekstvelden omsloten door dubbele aanhalingstekens
  • Codering? → Maakt niet uit: Er zitten geen bijzondere tekens is, dus het is zowel ASCII, Latin1 als UTF

Helaas:

The file's header row is missing or invalid. The header row is for Amazon use only and must not be modified or deleted. 
To correct this error, download the template again from seller Help and use that new copy, or insert the correct header 
row directly above the column headings in your existing file.

Iteratie 8 - Excel Online

Microsoft Excel Online gebruikt, want misschien ligt het aan Calc + macro's → Sjezus, wat een bagger dat Excel Online. Het kan niet eens het bestand in .xls-formaat opslaan, plus dat macro's ook online het niet deden + bestanden opeens pleitte, etc.

Ik heb niet eens de moeite genomen om het resulterende bestand te uploaden.

Iteratie 9 - Stap 2 ipv. Stap 1 - GELUKT

Stap 1 werkt niet! Stap 2 werkt wel

Interessante opmerking:

Note: If you don't have macros enabled, save the file in text (.txt) format and upload it through the 
Upload Products & Inventory tool.

Upload Product & Inventory Tool verwijst helaas naar de gebruikelijk upload-pagina.

Verder: Het probleem kan liggen bij Step 1 - Check your file - Ik heb al eerder slechte ervaringen met dat ding → Step 2 - Upload file gebruikt. Daar kan ik ook aangeven om wat voor soort bestand het gaat (price & quanity of zoiets). Zelfde bestand gebruikt als voor vorige iteratie.

Melding:

Feed Processing Summary:
	Number of records processed		992
	Number of records successful		992

Conclusie

Step 1 - Check your file Dit zuigt → Step 2 doet het wel.

Volgende keer

  • CSV-bestand gebruiken: Goede kans dat dat prima werkt
  • Komma gebruiken als decimaalscheidingsteken
  • Alleen de kolommen sku en price nodig
  • Waarschijnlijk kan ik het bestand gebruiken waarin ik de inventaris download van de site
  • Stap 1 Overslaan, gelijk Stap 2 gebruiken.

Casus: Beëindige producten verwijderen (juli 2017)

Upload-dialoog. Het moet écht een txt-bestand zijn, en BMVD is niet relevant, zoals je kunt zien
Een impressie van het tekstbestand

Enkele honderden producten worden niet meer gevoerd, en ik wil ze verwijderen uit de verschillende Amazon-marktplaatsen:

  • Het gaat om de kolom add-delete. Daarmee geef je aan of producten toegevoegd, verwijderd (= voorraad op 0), of remove completely moeten zijn
  • In dit geval: Remove completely, om te voorkomen dat ze per ongeluk weer worden toegevoegd
  • Deze kolom vind je in het standaard upload-sjabloon, maar het ligt voor de hand om hier een vereenvoudigd sjabloon voor te gebruiken, want je hebt waarschijnlijk maar twee kolommen nodig: sku en add-delete
  • Meest relevante sjabloon: Inventory Loader File. Dat is een txt-bestand
  • Het blijkt dat de standaard-export zoals ik die gebruik, prima werkt.

Algorithme:

# =============================================================================================
# === SKU's & add/delete-veld beëindigde producten exporteren
# =============================================================================================
#
# * Bron: root_discontinued
# * Bron: root_child_discontinued

# Verwijder tmp-table, als-ie bestaat
#####################################
#
drop table if exists tmp;

# Union Select-query met alle producten + header-rijen → Tabel tmp
##################################################################
#
create table tmp
(select "sku","add-delete","internal_sort_order") # Da's een truuk om de titels van de kolommen goed te krijgen
union
(select sku, "d","50" from root_discontinued where cat like "Discontinued summer 2017")
union
(select sku,"d","50" from root_child_discontinued where cat like "Discontinued summer 2017")
union
(select "sku","add-delete","10") # Dit wordt de eerste rij
order by internal_sort_order,sku asc;

# Truuk heeft z'n werk gedaan, en kan nu weg
############################################
#
delete from tmp where internal_sort_order like "internal_sort_order"; 

# Exporteren kun je leren
#########################
#
call export_fix_null("tmp");
call export_save("tmp","internal_sort_order, sku asc","amazon_discontinued");

Casus: Alle producten pauzeren (okt. 2017)

In dit geval de gemakkelijkste oplossing: Doen alsof we voor Mexico op vakantie zijn: Settings (rechtsboven) » Account info » Going on a vacation?

Casus: Alle prijzen met 10% verhogen (juni 2018)

  • Seller Central-interface: Niet
  • Download een inventory report inclusief prijzen → Werk prijzen bij → Upload.

Casus: Alle prijzen met $10 verhogen (jan. 2019)

  • Download report: Inventory Report (Custom) - Met alleen de kolommen SKU, Asin (verplicht) & prijs. Dat is een .txt-document
  • Prijzen aanpassen in Calc. Weggeschreven bestand heeft extentie .csv: Tekstbestand met tab als scheidingsteken, en tekstvelden (dat zijn nu alle velden) omgeven door "

Casus: Alle zakelijke prijzen met $10 verhogen (feb. 2019)

Dit is het broertje van de casus hierboven (jan. 2019): De zakelijke prijzen moeten ook met $10 verhoogd worden:

  • Mbv. Custom Inventory Report SKU's, prijzen & zakelijke prijzen gedownload
  • In Calc de zakelijke prijzen aangepast + geëxporteerd naar een CSV-bestand
(Custom) Inventory Report: Ook geschikt om bv. zakelijke prijzen te downloaden
Interessant: De kolomtitel Business price is niet dezelfde als voor Inventory Files for non-Media Categories (business_price) - Toch gaat het goed

Gelukt

Dit is het bijbehorende Processing Report. De fout snap ik niet, maar de data is in orde:

Feed Processing Summary:
	Number of records processed		30855
	Number of records successful		30855

original-record-number	sku	error-code	error-type	error-message
0		90061	Warning	The asin field heading is invalid, so values in this field were ignored. 
                                To correct this error, download the template again and use the new copy, 
                                or fix the field heading in your existing file.

Bronnen

Alle prijzen met 10% verhogen