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

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

Ալիքների գնագոյացում — ավտոմատացումը կապոտի տակ

Ոչ 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 րոպեում կպարզենք, թե ինչն է հնարավոր։

դիտման ռեժիմ