Կեյսեր/ Էլ. առևտուր/ Գնագոյացում

Ինչ է տեսնում մենեջերը՝ մեկ պատուհան չորս ալիքի համար

Ալիքների գնագոյացում՝ ծրագրային իրականացումը

Ոչ M-կոդ, ոչ API։ Մենեջերը բացում է մեկ ֆայլ, սեղմում «Թարմացնել», 5 րոպե սուրճ է վերցնում, հետո 20 րոպե աչքով ստուգում ցանկը՝ և գները չորս ալիքում թարմացվում են միանգամից։

Power Query M-ով, թիրախ-գնի մաթեմատիկան՝ Excel-բանաձևերով, համաժամանակյա արտահանում 4 կաղապար։ Կաբինետներից ձեռքով կաղապար ներբեռնելու կարիք չկա՝ API-ն ամեն ինչ անում է մեկ անցումով։

Ալիքներ · գնագոյացում RRP-ի վերահսկում 4 ալիք Power Query · M Ալիքների API 5-6 ամսում
Ոլորտ Պրոֆեսիոնալ կոսմետիկայի ներմուծում և մեծածախ բաշխում · 4 ալիք՝ տարբեր վճարներով և վերբեռնման ձևաչափերով · բրենդի RRP-քաղաքականություն
Տեսանելի Պատմված է այն մենեջերի տեսանկյունից, ով ամեն օր աշխատում է ապրանքի հետ։ Ինժեներական մանրամասները՝ վերևի աջ անկյունի փոխարկիչով։
Ծրագրային Ինժեներական կողմը՝ M-կոդ, բանաձևեր, ճարտարապետություն։ Նույնն օգտատիրոջ աչքերով տեսնելու համար՝ վերևի աջ անկյունի փոխարկիչը։
Ժամանակ՝ մեկ ցիկլում 15-30 ր ▼ էր 1-2 ժ ամեն ալիքով
Ալիքներ՝ միանգամից 4 ▲ համաժամ
Ձեռքով ներբեռնում 0 ▲ API-ն ամեն ինչ քաշում է
RRP-ստուգում ավտո ▲ կանաչ / դեղին / կարմիր

01Ինչպես էր աշխատում մինչ մեզ

Գնագոյացման մենեջերը նախկինում պահում էր այս գրաֆիկը՝ երկուշաբթի՝ Shopify, չորեքշաբթի՝ Amazon, ուրբաթ՝ Etsy, Walmart՝ «երբ հասցնեմ»։ Ամեն ալիք վերցնում էր 1-2 ժամ՝ ներբեռնել կաղապարը կաբինետից, տեղափոխել Excel, վերահաշվել բանաձևերը, ստուգել RRP-ն, հետ վերբեռնել։

Քանի որ օրերը տարբեր էին, գները շեղվում էին ալիքների միջև։ Հաճախորդները նույն ապրանքը Shopify-ում և Amazon-ում տարբեր գնով էին գտնում և սկսում էին հարցեր տալ։ Երբ marketplace-ը փոխում էր վճարները, բանաձևերը հնանում էին, և մի քանի շաբաթ ինչ-որ բան անխուսափելիորեն վնասով էր վաճառվում։

Բաշխիչը վաճառում է չորս հիմնական ալիքով՝ Shopify, Amazon, Etsy, Walmart։ Չորսն էլ ուզում են իրենց գնագոյացման տրամաբանությունը՝ յուրաքանչյուրն ունի իր վճարների հավաքածուն, fulfillment-ի դրույքները, վճարման մշակումը, իր տուգանքները տարբեր կատեգորիաների ու չափերի համար։ Բացի այդ՝ բրենդը պարտադրում է RRP՝ թույլատրելի շեղման գոտիով։

Մինչ մեր աշխատանքը՝ մենեջերն անում էր սա՝

02Ինչ կառուցեցինք

Մեկ պատուհան չորս ալիքի համար

Առանձին Excel-ֆայլ՝ «Ավտո-գներ», պահում է հիմնական աղյուսակը։ Մեկ տող՝ ամեն SKU-ի, մեկ սյունակ-բլոկ՝ ամեն ալիքի։ Գունավորումը մեկ հայացքով ցույց է տալիս, թե որ ապրանքներն են RRP-գոտում, որոնք բարձր են և որոնք ցածր։

Shopify
մյուսների հետ համաժամ
Amazon
մյուսների հետ համաժամ
Etsy
մյուսների հետ համաժամ
Walmart
մյուսների հետ համաժամ
Ավտո-գներ · ամփոփ պատուհան թարմացված 12 մայիսի · 09:42
տվյալներ՝ ալիքների API-ից · վճարներ և ընթացիկ գներ իրական ժամանակում · սինթետիկ տվյալներ
Բրենդ
Ցույց տալ միայն
RRP-գոտում RRP-ից ցածր RRP-ից բարձր
SKU Բրենդ RRP Ինքնարժեք Shopify Amazon Etsy Walmart
վճարգին վճարգին վճարգին վճարգին

* Գին = հաշվարկված թիրախ-գին՝ ամեն ալիքի վճարով ներառյալ։ Ձախ կողմի կետը՝ կարգավիճակն ըստ RRP-ի։

Մենեջերը սկսում է ամփոփումից։ Եթե ամեն ինչ կանաչ է՝ կիրառել։ Եթե դեղին/կարմիր կա՝ բացել կոնկրետ SKU-ները և ամեն մեկի համար որոշել՝ սպասել, փոխել RRP-ն, թե գիտակցաբար ընդունել շեղումը։

Ինչպես է թարմացվում տվյալը

Ալիքների APIվճարներ + ընթացիկ գներ
Google SheetsRRP · մեծածախ · ինքնարժեք
Excel՝ «Թարմացնել»~5 րոպե
Գները պատրաստRRP-ստուգմամբ

Մեկ սեղմում։ API-ն քաշում է թարմ վճարներ և ընթացիկ գներ 4 կաբինետից, Google Sheets-ը մատուցում է ընթացիկ RRP և ինքնարժեքներ, բանաձևերը վերահաշվում են թիրախ-գները՝ մենեջերին մնում է միայն նայել։

Որտեղ է մենեջերը մուտքագրում տվյալը

Ամեն ինչ, ինչ պետք է ձեռքով խմբագրել, ապրում է Google Sheets-ում։ Ոչ Excel-ում։ Սա կարևոր է՝ բաժնի ղեկավարը կամ կատեգորիայի մենեջերը կարող է ցանկացած պահի բացել բրաուզերը, փոխել RRP կամ ինքնարժեք, և հաջորդ թարմացմանը այն հոսում է մոդել։

Google Sheets · գներ և ինքնարժեքներ (հատված)
SKUԳնի տեսակԱրժեք, ֏Ուժի մեջ՝
SKU-A01RRP12 07015.05.2026
SKU-A01Մեծածախ6 70015.05.2026
SKU-A01Ինքնարժեք3 97001.04.2026
SKU-A01Նվազ. թույլատրելի10 16015.05.2026
SKU-B01RRP19 32015.05.2026

Ձևաչափը «երկար» է՝ ամեն SKU-ի մի քանի տող (RRP, մեծածախ, ինքնարժեք, նվազագույն)։ Սա ճկունություն է տալիս՝ կարող եք պահել գնի տարբեր տեսակներ անկախ, ավելացնել նոր տեսակներ՝ առանց մոդելը վերամշակելու։ Power Query-ն այն շրջում է անհրաժեշտ տեսքի։

Երբ մենեջերը ստուգել է ամեն ինչ՝ արտահանում

Թաքնված «Export_Shopify», «Export_Amazon», «Export_Etsy», «Export_Walmart» թերթերում տողերն արդեն կանգնած են ամեն ալիքի պահանջվող ձևաչափով՝ ճիշտ սյունակներ, ճիշտ ID-ներ։ Մենեջերը պատճենում է բովանդակությունը, բացում ալիքի կաբինետը և կիրառում։

Սա ալիքներ գների ինքնաշխատ վերբեռնում չէ։ Համակարգն առանց մենեջերի ոչինչ չի ուղարկում՝ այն պարզապես ինքնաշխատ պատրաստում է ֆայլերը։ Տեսողական ստուգումը մնում է մարդուն, վերահաշվարկի աշխատատաժը՝ ամբողջությամբ վերացված է։

Ճարտարապետություն

Տվյալների աղբյուրներ
Հաշվարկ
Արտահանում
Shopify · Amazon · Etsy · WalmartAPI՝ վճարներ, ընթացիկ գներ, listing-ի կարգավիճակ
Google SheetsRRP, մեծածախ, ինքնարժեքներ, շեղման գոտիներ
Excel - թաքնված թերթAPI-token-ներ՝ ըստ ալիքի (API_Tokens)
Power Query · M fnCh - ընդհանուր ֆունկցիա ալիք-առանձին wrapper-ներ GS → երկար → լայն
Excel-բանաձևեր թիրախ-գին + RRP-ստուգում
4 export-թերթ Shopify · Amazon · Etsy · Walmart

Կարևորագույն կետը՝ կաբինետներից ձեռքով կաղապար ներբեռնում չկա։ M-կոդն ամեն անհրաժեշտը քաշում է API-ով՝ մեկ անցումով։ Excel-ը այն տեղն է, որտեղ ապրում է բիզնես-տրամաբանությունը, ոչ թե copy-paste-ը։

Ալիքների API-ները M-կոդում

Power Query-ն M-ով կարող է HTTP-հարցումներ անել։ Ամեն ալիք ունի իր ֆունկցիան՝ քաշել token-ը թաքնված թերթից, անել GET/POST, վերլուծել JSON-ը, ձևավորել աղյուսակ։ Չորս ֆունկցիան էլ կառուցվածքով նման են. ընդհանուր wrapper-ը՝

// fnCh_Fees - վճարների հարցման ընդհանուր ֆունկցիա
// Ընդունում է՝ ալիքի բանալի, endpoint, պարամետրեր
let
    Creds = Excel.CurrentWorkbook(){[Name="API_Tokens"]}[Content],

    fnCh = (channel as text, endpoint as text, params as record) =>
        let
            token = Table.SelectRows(Creds, each [Channel]=channel){0}[Token],
            URL   = "https://api." & channel & ".../" & endpoint,
            resp  = Json.Document(
                Web.Contents(URL, [
                    Headers = [#"Authorization" = "Bearer " & token,
                               #"Content-Type"  = "application/json"],
                    Query   = params
                ])),
            table = Table.FromRecords(resp[items])
        in
            table
in
    fnCh

Վրան՝ ալիք-առանձին wrapper-ներ, որոնք գիտեն իրենց endpoint-ները՝

// Shopify_Fees - ընթացիկ դրույքներ՝ ըստ listing-ի
let
    Source = fnCh("shopify", "v1/fees", [channelType = "online"]),
    Expand = Table.ExpandRecordColumn(Source, "fee",
                  {"transaction", "payment", "fulfillment"}),
    Types  = Table.TransformColumnTypes(Expand,
            {{"transaction", type number}, {"payment", type number}})
in
    Types

«Ավտո-գներ» թերթում ամեն SKU ինքնաշխատ ստանում է թարմ վճարներ՝ առանց կաբինետից աղյուսակ պատճենելու։

Քեշավորում և throttling։ Ալիքները սահմանափակում են հարցումների հաճախականությունը։ M-կոդն օգտագործում է Web.Contents՝ retry-ի և դադարի կարգավորումներով։ Ամբողջ ֆայլի թարմացումը վերցնում է 3-7 րոպե՝ դրա մեծ մասը API-պատասխանների սպասումն է, ոչ թե հաշվարկը։

Google Sheets - բազային գների միակ աղբյուր

Նույն Google Sheet-ը, որ պահում է գնումների պարամետրերը (lead time, շեմեր), պահում է նաև գնագոյացման պարամետրերը։ Մեկ թերթ՝ երկու համակարգ։ Հարմար է, որովհետև գնորդն ու գնագոյացման մենեջերը տեսնում են նույնը։

Պարամետրեր՝ երկար ձևաչափով
ԴաշտԻնչ է նշանակում
Գնի տեսակRRP / Մեծածախ / Ինքնարժեք / Նվազ. թույլատրելի
ԱրժեքԹվային արժեքը՝ դրամով
Ուժի մեջ՝Ամսաթիվ, որից գործում է գինը (հետաձգված փոփոխությունների համար)

Power Query-ն «երկար» ձևաչափը շրջում է «լայնի»՝ ամեն SKU դառնում է տող՝ RRP, Մեծածախ, Ինքնարժեք և այլ սյունակներով։ Դա սնում է Excel-ի թիրախ-գնի բանաձևերը։

Թիրախ-գնի բանաձևը

Հիմնական գաղափարը՝ թիրախ-գինը պետք է ծածկի բոլոր ծախսերը և թողնի թիրախային մարժան՝ առանց RRP-գոտին խախտելու։ Բոլոր բաղադրիչները հավաքվում են թերթում՝

Թիրախ-գին = (Ինքնարժեք + Լոգիստիկա + Վճարում + Թիրախ մարժա) ÷ (1 − ալիքի վճար)

Որպես իրական Excel-բանաձև՝

=([@Ինքնարժեք]
  + [@[Լոգիստիկա, ֏]]
  + [@[Վճարում, ֏]]
  + [@[Թիրախ մարժա, ֏]]
 ) / (1 - [@[Ալիքի վճար]])

Արդյունքը ստուգվում է RRP-գոտու հետ՝

=IF([@[Թիրախ-գին]] < [@RRP] * (1 - [@[Թույլատրելի շեղում]]),
       "RRP-ից ՑԱԾՐ",
       IF([@[Թիրախ-գին]] > [@RRP],
            "RRP-ից ԲԱՐՁՐ",
            "ԳՈՏՈՒՄ"))

Մենեջերն աչքով անցնում է «RRP-ից ՑԱԾՐ» / «RRP-ից ԲԱՐՁՐ» ապրանքները և որոշում՝ ինչ անել դրանց հետ (բարձրացնել նվազագույն թույլատրելին, փոխել մարժան, թե թողնել գոտուց դուրս գիտակցաբար)։

4 ալիքի մեկ-կրակոց թարմացում

«Ավտո-գներ» թերթում ամեն ալիք ունի իր բաժինը՝ իր վճարի սյունակով և իր ելքային կաղապարով՝

Shopify
variant ID + գին + compare-at
Amazon
seller_sku + գին
Etsy
listing_id + գին + կարգավիճակ
Walmart
item_id + գին + դրույք

Երբ մենեջերն ավարտել է տեսողական ստուգումը, չորս «Export_*» թերթերն արդեն պատրաստ են պատճենման։ Ամեն մեկը խստորեն ձևաչափված է համապատասխան կաբինետ վերբեռնման համար։ Գները փոխվում են չորս ալիքում համաժամ՝ նույն օրը։

Գործողությունների հերթականության մասին։ Սկզբում մենեջերը տեսողականորեն վավերացնում է մաթեմատիկան «Ավտո-գներ» թերթում։ Միայն հետո է սեղմվում «Կիրառել»՝ ընդհանուրը պատճենվում է export-թերթերը։ Սա «բոտ, որն ինքն է API-ով հրապարակում» չէ, այլ «գործիք, որը պատրաստում է ֆայլերը և սպասում կանաչ լույսի»։

03Ժամանակացույց և արդյունք

ՓուլՄեկնարկից
Բանաձևերի համաձայնեցում, առաջին ալիքի API-ի միացում~3 ամիս
Amazon-ի, Etsy-ի, Walmart-ի միացում+1-2 ամիս
Export-կաղապարներ, փորձարկում5-6 ամիս
Ավտո-գները հաճախորդի երկրորդ մոդուլն է։ Այն օգտագործում է գնումների նույն հիմքը՝ նույն Google Sheets-ը, նույն SKU-ները, նույն թարմացման ռիթմը։ Մենեջերը նոր գործիք չի սովորում՝ աշխատում է նույն տրամաբանությամբ։

Նմա՞ն խնդիր ունեք ձեր կողմում

Պատմեք՝ 30 րոպեում կպարզենք, թե ինչն է հնարավոր։

դիտման ռեժիմ