Category: Saclab

  • Story 42.2. Consignment rate

    By default the “auto” consignment rate is set in saclab.com/sell page

    Screenshot 2024-03-04 at 10.43.45.png

    As a Saclab admin, I sometimes offer special consignment rate to attract VIP sellers. In the past, I was able to do this by setting the consignment rate on Hubspot before I accepted the submission.

    Screenshot 2024-03-04 at 11.58.38.png

    The contract also follows:

    Screenshot 2024-03-04 at 12.04.13.png

    However, with Airtable, that option is now missing.

    Acceptance criteria:

    Actions on the “Consignment rate” field” :

    1. Change it to “Special consignment rate”

    2. This field is empty by default (when this field is empty, “Auto consignment rate” applies)

    3. Admin can specify the special consignment rate similar to how they did it in hubspot, for example, admin puts in

    17/15/10

    meaning: this submission gets the special consignment rate as follows:

    • 17% for bag with Price w/o Buyer Fee* under 3001

    • 15% for bag with Price w/o Buyer Fee* from 3001 -> 15000€

    • 10% for bag with Price w/o Buyer Fee* over 15000

  • Saclab Company Information

    Saclab company information as of February 26, 2024:

    SACLÀB GmbH

    Schwanthalerstraße 10

    80336 München

    Germany 

     

    VAT Number: DE326750315

    Managing Directors: Jan-Oliver Stück, Alexandra Wybenga-Stück

    Registered Court: Munich HRB 251703

     

  • Story 41.4: Collecting missing info from existing sellers

    General info

    User story

    As Saclab admin,

    I need to collect information from existing seller according to the new EU law

    So that helps to have all needed information for integration with tax portal

    Visual design

    https://www.figma.com/design/6KT0tZfJw3u7R8b5pCH8vw/Saclab-Team-Library?node-id=4472-13531&t=wE4VuvP8FDadKFw8-0

    Acceptance criteria

    01

    Check if product is:

    1. Consigned (C) in stock products

    2. Sold consigned (C) product of 2024 and 2023

    List of sellers:

    https://airtable.com/appYjRuQ4YEFTUwtb/tbld5UYfgjeNZpuOq/viwbBM8VqhKHlAlx4?blocks=hide

    02

    Then, check if “Contact” type is already “Private Seller” or “Commercial Seller” => if yes then skip, if no, then:

    03

    2.1. Send an email to the seller to ask for missing information:

    a. There are fields and input right in the email so the seller can fill in and submit right in the email (similar to google form)

    b. there should ALSO be a button in the email that the seller can click, after clicking it, they are led the form where they can fill in their missing info (they will need to log in)

    ⇒ after they click submit, then the info are sent to saclab and being automatically saved on air table

    1. Email template:

      1. ENG:

        1. Send from sales@saclab-official.com – Saclàb customer service

        2. Subject: URGENT: Please complete your tax details

        3. Preview (if possible): Information required for your consignment sale

        4. https://us12.admin.mailchimp.com/templates/edit?id=10077546#f_folder:17913;s:100;p:2;t:files-list

      2. DE:

        1. Send from sales@saclab-official.com – Saclàb Kundenservice

        2. Subject: Bitte vervollständigen Sie Ihre Steuerangaben.

        3. Preview (if possible): Erforderliche Informationen für Ihren Kommissionsverkauf.

        4. https://us12.admin.mailchimp.com/templates/edit?id=10077550#f_folder:17913;s:100;p:2;t:files-list

    Screen Recording 2024-04-30 at 17.11.35.mov

    https://www.figma.com/file/6KT0tZfJw3u7R8b5pCH8vw/Saclab-Team-Library?type=design&node-id=4472%3A13531&mode=design&t=wXTrJT17MVrquPwa-1

    04

    When the seller is logged in to https://saclab.com/my-account/bags-i-sell/ , saclab.com/sell and any child from “bags i’m selling” ⇒ they will see a pop-up telling them to fill in the necessary info. There should be a CTA so they can click, after they are led to the form where they can fill in their info => This popup can’t be clicked away

    Seller is not able to submit a new submission as long as they haven’t finished their data

    https://www.figma.com/file/6KT0tZfJw3u7R8b5pCH8vw/Saclab-Team-Library?type=design&node-id=4472%3A13531&mode=design&t=wXTrJT17MVrquPwa-1

    Screenshot 2024-04-30 at 17.14.20.png

    05

    Send email 1st time

    ⇒ 7 days later, data filled = no? => first follow up email,

    if data is still not filled after another 7 days (7 days after the first follow up email is sent)=> 2nd follow up email;

    another 7 days has passed => 3rd follow up email

    another 7 days have passed => email to the sales team to follow up themselves

    Acceptance criteria

    01

    Given: list of sellers without tax information

    When: send an email to the seller to ask for missing information

    Then: seller receives the email with the info about taxes and the button to the website

    1. Email template:

      1. ENG:

        1. Send from sales@saclab-official.com – Saclàb customer service

        2. Subject: URGENT: Please complete your tax details

        3. Preview (if possible): Information required for your consignment sale

        4. https://us12.admin.mailchimp.com/templates/edit?id=10077546#f_folder:17913;s:100;p:2;t:files-list

      2. DE:

        1. Send from sales@saclab-official.com – Saclàb Kundenservice

        2. Subject: Bitte vervollständigen Sie Ihre Steuerangaben.

        3. Preview (if possible): Erforderliche Informationen für Ihren Kommissionsverkauf.

        4. https://us12.admin.mailchimp.com/templates/edit?id=10077550#f_folder:17913;s:100;p:2;t:files-list

    image-20240527-151223.png

    https://www.figma.com/design/6KT0tZfJw3u7R8b5pCH8vw/Saclab-Team-Library?node-id=4472-15392&t=wE4VuvP8FDadKFw8-4

    02

    Given: email to the seller

    When: click on a button “Submit now“

    Then: redirect to the authorization page on the website

    image-20240527-145120.png

    https://www.figma.com/design/6KT0tZfJw3u7R8b5pCH8vw/Saclab-Team-Library?node-id=4472-15595&t=wE4VuvP8FDadKFw8-4

    03

    Given: seller with a submitted bag

    When: open section “My seller data“

    Then: see the fields with all the needed information for the tax portal

    image-20240527-145443.png

    https://www.figma.com/design/6KT0tZfJw3u7R8b5pCH8vw/Saclab-Team-Library?node-id=4472-13695&t=wE4VuvP8FDadKFw8-4

    04

    Given: login as a seller https://saclab.com/my-account/bags-i-sell/

    When: see the popup
    AND click button “submit now”

    Then: redirect to the section “My seller data“

    image-20240527-150058.png

    https://www.figma.com/design/6KT0tZfJw3u7R8b5pCH8vw/Saclab-Team-Library?node-id=4472-15038&t=wE4VuvP8FDadKFw8-4

    Screenshot 2024-04-30 at 17.14.20.png

    05

    Given: login as a seller https://saclab.com/my-account/bags-i-sell/

    When: see the popup
    AND click outside the popup to try to close it

    Then: popup is not closed

    06

    Given: seller received the 1st email

    When: seller doesn’t fill out the info on Saclab during 7 day after email

    Then: send first follow up email

    07

    Given: seller received the 1st follow-up email

    When: seller doesn’t fill out the info on Saclab during next 7 day after 1st follow-up email

    Then: send second follow up email

    08

    Given: seller received the 2nd follow-up email

    When: seller doesn’t fill out the info on Saclab during next 7 day after 2nd follow-up email

    Then: send third follow up email

    09

    Given: seller received the 3rd follow-up email

    When: seller doesn’t fill out the info on Saclab during next 7 day after 3rd follow-up email

    Then: send email to sales team

    10

    Given: section “My seller data“

    When: fill out all mandatory fields
    AND click “Submit“

    Then: see the popup “Your data has been saved“

    Screen Recording 2024-04-30 at 17.11.35.movimage-20240527-151306.png

    https://www.figma.com/design/6KT0tZfJw3u7R8b5pCH8vw/Saclab-Team-Library?node-id=4481-15852&t=wE4VuvP8FDadKFw8-4

    11

    Given: saclab website

    When: user register on the website
    AND don’t submit any bags

    Then: don’t see any popups
    AND don’t see the section “My seller data“

    12

    Given: saclab website

    When: user registers on the website
    AND submit a bag

    Then: don’t see any popups
    AND don’t see the section “My seller data“

    13

    Given: saclab website

    When: user registers on the website
    AND publish a bag

    Then: see popup about fill out seller data
    AND see the section “My seller data“

  • Story 52.2. Partial Return System for Inventory Management

    General Info

    We currently don’t have a clear way to handle orders with multiple items when only some are returned. This task is about creating a system to correctly manage orders with partial returns.

    Currently, if items are partially returned, they are manually removed from the order, making it hard to track the details of the return.

    We want to inform only the relevant sellers about partial returns, not everyone involved in the whole order. If there’s a refund, the buyer’s email should only mention the specific product refunded.

    Our accounting system should recognize the new total order value after a partial return. All transactions must be easy to trace.

    Additionally, we want to keep a record of the date when a partial return happens.

    A customer orders several bags or products but later wants to return only some items, not the whole order.

    Here’s what SacLab’s sales team should do in the future, once a customer requests a return:

    They update the order status to "return requested."

    → This informs all sellers in the order that some items might be returned automatically.

    After getting the bag at SacLab HQ, the sales team checks and confirms the return. Then, the admin starts a "partial return" using the "Refund" button in the WooC order.

    image-20240215-123453.png

    Admin selects the Bag that got returned (in this case “refund” actually means partially returned). Admin has the option to tick “Restock refunded items”. Admin has the option to set the total amount that gets refunded. Applied coupons are respected in the refunded Total.

    image-20240215-123809.png

    For now: Admin only uses “refund € xxx manually”. He doesn’t use “refund € xxx via Paypal/Mollie” yet. However please respect in this task, that we might use this feature “refund € xxx via Paypal/Mollie) in the future.

    Refund with individual #yyyyy gets created.

    image-20240215-123835.png

    This Partial Return #yyyyy now needs to get synced to Airtable, linked to the existing Order. It must include all changed values/numbers, so we can keep our Bookkeeping precise.

    Admin creates a “Refund” within WooC Order. Bags that get returned get Qty “1” by admin. Product Total gets adjusted if needed. Fees get adjusted if needed. Admin fills in “Reason for refund”.

    User Story

    As an admin on saclab

    I want to return only some products inside the order

    So that I can inform only specific sellers and track the history of partly returned products in the order

    Flowcharts

    Partial Return: Detailed Flowchart https://www.figma.com/file/TgwOtWVlp9L1MXdHlQfJxf/Inventory-Management-System—Flowchart?type=whiteboard&node-id=939%3A3572&t=m11UN5urFVx4CwqW-1

    Partial Return: Order Flow https://www.figma.com/file/ZJFWFxtCthduYLVW8wJCZr/Partial-Return%3A-Order-flow?type=whiteboard&node-id=0%3A1&t=XdKUB4sHie2dZgEu-1

    Acceptance criteria

    01

    Given: Woocommerce order

    When: Open any order

    Then: see new names for refund buttons and texts

    Rename:

    • Button “Refund” to “Return”

    • Button “Refund € xxx manually” to “Return € xxx manually”

    • Text “Reason for refund” to “Reason for Return”

    • “Refund #yyyyy” “Partial Return #yyyyy”

    Screenshot 2024-02-15 at 14.04.56.pngScreenshot 2024-02-15 at 14.08.23.pngScreenshot 2024-02-15 at 14.09.01.pngScreenshot 2024-02-15 at 14.09.35.png

    02

    Step 1: Action in WooC by Salesteam

    Given: Woocommerce order

    When: clicks “Refund xxx manually”

    Then:

    In WooC:

    • Tag the existing order “partial return [yyyyy] on [date]”

    • “Restock refunded items”:ticked: Product is back to live, with tag "SYB – Returned + DATE”

    • SYB_reservation coupon

      • if the related bag to the coupon gets returned, it gets deducted

      • if the related bag to the coupon stays in the order, it doesn’t get deducted

    eMails:

    • email to seller of refunded bag only: your bag has been returned, it’s back online

    • no email to seller of other bag(s) in the order.

      • Respect current logic: The status “return requested” has been set beforehand: Sellers of bags that are not getting partially returned should still receive email “requested return no longer active”, after return period is over.

    Airtable:

    • Create Airtable partial return #yyyyy as an order record

      • Name: yyyyy + [Buyer Name] + Partial Return

      • status “Returned ( 0→1 )”

      • tag “partial return” in new field “tag”

      • linked to the product that got partially returned

      • linked to the order #xxxxx

      • New field “Date Returned” filled

      • New field “Comment” filled with “reason for return” from WooC

      • Fill field “Total” in Airtable partial return #yyyyy with refunded Total (e.g. -2848€) from refunded Products

      • Fill field “MwSt” in Airtable partial return #yyyyy with -MwSt Amount from refunded LCKs

      • Fill field “Discount” in Airtable partial return #yyyyy with -Coupon Amount from refunded coupons

      • Fill field “Fee” in Airtable partial return #yyyyy with -Fee Amount from refunded Fees

    • Update existing Airtable Order

      • New Field “Refunded” filled in order #xxxxx, vaule is synced from WooC

      • New Field “Net Payment” filled in order #xxxxx, value is synced from WooC (see screenshot on the right)

      • New Field “tag”: set tag “Order: partially returned”

    • Update existing Airtable Product

      • Fill in “Return Date” of products that got partially returned

      • update the product as if it’s a normal return (setting back to “stock”,…)

    • to built by saclab internally: Bookkeeping view in “Orders”:

      • recalculate “Total_Bookkeeping” and “MwSt_Bookkeeping” based on order+ partial return “total”

    image-20240215-124011.pngScreenshot 2024-02-15 at 18.41.21.pngScreenshot 2024-02-27 at 13.29.41.png

    03

    Step 2: Partial Return gets refunded

    The partial return needs to be refunded by saclab via mollie/paypal/banktransfer

    Given: Woocommerce order

    When: Order gets partially refunded via Mollie/Paypal by saclab

    Then:

    • respective amount gets refunded manually via molly/paypal

    • Refund #zzzzz gets created in WooC, not synced to Airtable

    • Airtable: Partial Return #yyyyy Status switches to “Refunded” automatically

    • eMail: Send out email to buyer about refund, only include bag that got partially returned

    Screenshot 2024-02-15 at 14.37.19.pngimage-20240215-133848.png

    04

    Given: Woocommerce order

    When: Order gets partially refunded by saclab via Bank Transfer

    Then:

    • manual action: Airtable Order #yyyyy gets status “refunded” manually set by saclab

    • email: Send out email to buyer about refund, only include bags that got partially returned

    05

    Given: Two bags in order, two separate partial refunds get created in WooC, both synced to AirT and linked to initial Order.

    When: Refund1 first bag
    AND refund2 second bag

    Then:

    • respective amount gets refunded manually via molly/paypal

    • Refund #zzzz1 and/or #zzzz2 gets created in WooC, not synced to Airtable

    • Airtable: Partial Return #yyyy1 and/or #yyyy2 Status switches to “Refunded” automatically

    • eMail: Send out email to buyer about refund, only include bag1 and/or bag2 that got partially returned

    06

    Given: One bag in order

    When: Refund one bag

    Then:

    • Refund gets created in WooC, not synced to Airtable

    • existing logic: switch whole order to status “Returned 0 → 1”, set return Date in Airtable, send out email to sellers of whole order,…

  • Story 41.3. Contract created

    General info

    A field on airTable and Hubspot to indicate if the seller has created their contract yet

    User story

    As a salesperson/admin on saclab

    I want to see if the seller has created their contract or not

    so I can communicate correctly with them

    Acceptance criteria

    Given: Hubspot deal and Airtable Record

    When: Submission is accepted and contract is CREATED

    Then: “Contract created” field = yes (or tickbox) => lock field, shouldn’t be editable

  • Order flow

    https://www.figma.com/file/mW6z8tYbizdVtCn6ku1suY/Order-flow?type=whiteboard&node-id=0-1&t=Tr1XcjPHCfxTkrA7-0

    Woocommerce flow:

    https://woo.com/document/managing-orders/

    image-20240208-130142.png

    Rules

    Pending” → “On hold” or “Pending” → “Processing”:

    • Message in Slack chanel #bag_is_sold

    On hold” → “Cancelled” or ”Any” → “Returned”:

    • SYB bag returns to “Active”, updating stock

    On hold” → “Cancelled” and payment method = “Direct bank transfer”:

    • If it is an admin action → Notifications to users who have ordered an alert if the bag goes back on sale;

    • Email to Admin: on-hold-canceled-admin (Mandrill slug)

    • Message in Slack chanel #returnstatus

    Any” → “On hold” and payment method = “Direct bank transfer”:

    • Email to Buyer:

    after-purchase-order-on-hold-new-6-09

    Return requested” → “Completed”:
    Cancelling return request

    All other actions related to statuses will be performed regardless of the previous status of the order.

    If you want to skip some statuses in the flow, the actions associated with them will not be performed because these statuses were not assigned to the order and did not trigger these actions.

    So, you can use any combination of statuses as long as it meets your requirements.

  • Story 92.4. Spotlight

    By default we are spotlighting the newest article on saclab.com/journal . As an admin on Saclab, I would like to have the option to also spotlight the old articles, so it gets more attention

    Screenshot 2024-02-01 at 16.58.56.png

    In admin panel, there should be a field with a choice of "newest article" or "select a specific one"