Articles on: SKU Manager (Ai Analysis)

SKU Manager: Internal Endpoint Mode Setup Guide

Python-based CSV matching for product identification


Table Of Contents



Status: Beta Feature

Last Updated: January 2025


Overview


The Internal Endpoint mode allows you to run custom Python scripts that match incoming eBay listing data against your own CSV product database. This is ideal for users who have existing price sheets or inventory lists and want to programmatically identify products and calculate values.


When to Use Internal Endpoint Mode


Use this mode when you:


  • Have a CSV file with product identifiers (model numbers, MPNs, SKUs)
  • Want to match eBay listings against your existing price sheet
  • Need programmatic control over matching logic
  • Want to calculate max prices or margins based on your own data
  • Prefer Python code over AI-based analysis


Internal Endpoint vs. AI Mode


Feature

AI Mode

Internal Endpoint Mode

Analysis Method

AI provider (Gemini/OpenAI)

Local Python script

Data Source

AI knowledge + prompt

Your CSV file

Best For

Complex reasoning, condition assessment

Price lookups, exact matching

Custom Columns

Supported

Not currently supported (beta)

Cost

API usage fees

Free (runs locally)


Prerequisites


Before starting, ensure you have:


  • [ ] Enterprise license confirmed and whitelisted
  • [ ] Python installed via SKU Manager (Data > Get Data > Install Python)
  • [ ] Python libraries set up (Setup Python Libraries button)
  • [ ] A CSV file with your product data ready


Step-by-Step Setup

Step 1: Select Internal Endpoint Mode

  1. Open the SKU Manager panel: Data tab > Get Data


  1. Check “SKU Manager Enabled”


  1. Check “Show results first, do not wait for AI” (recommended)


  1. In the Type dropdown, select “Internal Endpoint”


You’ll now see a 4-step wizard instead of the standard AI configuration tabs.


Step 2: Data Source (CSV Configuration)


This step connects your product database to SKU Manager.


To configure:


  1. Click Browse to select your CSV file


  1. After loading, the field selector will populate with your CSV column headers


  1. Select the columns you want available in your matching script


Best Practice: Select columns that serve as:


  • Product Identifiers: Model numbers, MPNs, SKUs, UPCs
  • Pricing Data: Your buy prices, max prices, or target margins
  • Any other matching criteria: Brand names, categories, etc.


Example CSV Structure:


Model,MPN,MaxPrice,Category,Notes
iPhone 15 Pro,A2848,650,Phone,128GB only
iPhone 15,A2846,550,Phone,Any storage
Galaxy S24,SM-S921,400,Phone,Unlocked preferred

```1. Click **Save and Continue**
---
### Step 3: Fields To Send

Select which eBay listing fields will be sent to your Python script for analysis.

**Standard Listing Fields** (left column):

* Alias
* Auction Price
* Authenticity
* AutoPay
* Best Offer
* Brand
* Condition
* Title
* Total Price
* _(and more)_

**Category Item Specifics** (right column):

* Storage Capacity
* Network
* Lock Status
* Expiration Date
* _(varies by eBay category)_

**Configure Endpoint URL:** At the bottom of this step, enter your local endpoint URL:

http://localhost:8000/match_mydata


_(The default endpoint is pre-configured; modify if using a custom port)_

Click **Save and Continue**

---
### Step 4: Matching Script

This is where you write (or paste) your Python code that processes the incoming eBay data against your CSV.

**What Your Script Receives:**

* The eBay listing fields you selected in Step 3
* Access to your CSV data loaded in Step 2

**What Your Script Should Return:**

* Matching results, recommendations, or calculated values
* Data formatted for display in the template (Step 5)

**Creating Your Script:**

We recommend using an AI assistant (like Claude or ChatGPT) to help write your Python script. Start a conversation with:

I need a Python script for SKU Manager's Internal Endpoint mode.


My CSV has these columns: [list your columns]

I'm receiving these eBay fields: [list selected fields]


I want to:

  1. Match eBay listings to my CSV by [matching criteria]
  2. Return [what you want to see - max price, profit margin, match status, etc.]


Please write a Python script that:

  • Takes the eBay fields as input
  • Searches my CSV for matches
  • Returns the results in a format I can display


**Example Script Concept:**

Pseudo-code example

def match_listing(ebay_data, csv_data):

# Extract identifiers from eBay listing

title = ebay_data.get('Title', '')

mpn = ebay_data.get('MPN', '')


Search CSV for matches

for row in csv_data:

if row['MPN'] in title or row['Model'] in title:

return {

'matched': True,

'product': row['Model'],

'max_price': row['MaxPrice'],

'listing_price': ebay_data.get('Total Price'),

'recommendation': 'BUY' if ebay_data['Total Price'] < row['MaxPrice'] else 'PASS'

}


return {'matched': False, 'recommendation': 'NO MATCH'}


Click **Save and Continue**

---
### Step 5: Display Template

Configure how matched results appear in the External Data panel, similar to the standard AI mode display template.

**The template receives:**

* Results returned from your Python matching script
* Use HTML/CSS to format the display

**Simple Template Example:**

<div style="padding: 10px;">

<h3>Match Result</h3>

{{#if matched}}

<p><strong>Product:</strong> {{product}}</p>

<p><strong>Max Price:</strong> ${{max_price}}</p>

<p><strong>Listing Price:</strong> ${{listing_price}}</p>

<p style="font-size: 18px; font-weight: bold; color: {{#if (eq recommendation 'BUY')}}green{{else}}red{{/if}};">

{{recommendation}}

</p>

{{else}}

<p>No match found in product database</p>

{{/if}}

</div>


Click **Save and Continue** to complete setup.

---
## Testing Your Configuration1. Ensure the SKU Manager script is running (green indicator)

2. Run a search that would match products in your CSV

3. Click on a listing row

4. Check the External Data panel for your script’s output

**Troubleshooting:**

* **No output:** Verify your CSV path is correct and accessible
* **Errors in panel:** Check Python script syntax in an IDE first
* **No matches:** Verify your matching logic against actual eBay title formats

---
## Current Limitations (Beta)

* **No Custom Columns:** Unlike AI mode, you cannot create grid columns from script output (yet)
* **No Profiles:** Internal Endpoint mode uses a single configuration rather than named profiles
* **Limited Error Reporting:** Debugging may require checking console output

---
## Feedback Welcome

This is a beta feature. If you use Internal Endpoint mode, please share your experience:

* What use cases are you implementing?
* What features would make this more useful?
* Any issues or bugs encountered?

Use the thumbs down button or contact support with your feedback.

---
## Summary Checklist

* [ ] Type set to **Internal Endpoint**
* [ ] CSV file uploaded and fields selected
* [ ] eBay fields to send configured
* [ ] Endpoint URL confirmed
* [ ] Python matching script written and saved
* [ ] Display template configured
* [ ] Script running (green status)
* [ ] Tested with real search results

---

_For AI-powered analysis without CSV matching, see the standard SKU Manager Setup Guide._

Updated on: 26/01/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!