ProductsDocsBlogConsultingAboutContactGet Started
Back to Documentation
MagentoMagento 2Google SheetsApps ScriptAIGPT-5.4Product ImportPIME-commerce

Magento AI Product Manager: Complete Setup & Usage Guide

Install the Magento AI Product Manager Apps Script in your own Google workspace and upload products to your Magento 2 store straight from a Google Sheet — with AI column mapping (GPT-5.4), configurable products, image upload, and a live sync progress bar. 15-minute setup, non-technical friendly.

Stop copy-pasting supplier spreadsheets into Magento's fragile CSV importer at midnight. Magento AI Product Manager is a Google Apps Script that reads any product spreadsheet — even messy ones with supplier-specific column names — uses OpenAI's GPT-5.4 to figure out which Magento attribute each column should become, then uploads everything straight to your store through Magento's own REST API.

Drop in a CSV. Click one button. Watch the AI map your columns in seconds. Review the mapping. Hit Confirm. A live progress bar shows each SKU being created or updated, row by row. Export the log. Done.

Everything runs inside your Google account and your Magento store. No Magento extension to install. No PIM subscription. No data flows through MageSheet's servers — because there is no MageSheet server in the loop at all.

What You Get

  • AI column mapping — GPT-5.4 reads your headers + sample rows and matches each column to the right Magento attribute with a confidence score.
  • Universal import — CSV, Excel (XLSX), TSV, or a Google Sheet tab. Drag, drop, paste, or load.
  • Editable grid — spreadsheet-style dark UI with multi-cell paste, tab navigation, and inline column add/delete.
  • Direct API sync — products go to Magento through the same REST API the admin panel uses. No CSV files, no extensions, no timeouts.
  • Configurable products — handle t-shirts with size/color variants automatically: parent creation, child linking, option setup (Magento 2.4+ compatible).
  • Image upload from URL — drop a public image URL in any column and the tool fetches it and uploads it to Magento's media gallery.
  • Batch sync with cancel — sends products in batches of 15, with retry on rate limits. Cancel any time; the current row finishes cleanly.
  • CSV log export — downloadable per-row record of every sync (created / updated / errors) for your finance team.
  • Custom attributes — any attribute already defined in your Magento backend is auto-detected and mappable.
  • 5 model options — GPT-5.4 Mini (default, cheap) / Nano / 5.4 / 5.4 Pro / 5.2. Pick what fits your budget.
  • 100% unobfuscated source code — plain JavaScript, read it, modify it, audit it.
  • 1 year of free updates — new Magento and OpenAI versions supported; renewal at 50% after your first year.
  • Runs in your workspace — your tokens, your sheet, your catalog. Zero data flows through us.

Magento AI Product Manager

Skip the manual setup. Get the complete script and start using it instantly in your Google Workspace.

AI column mapping — works with any spreadsheet format
CSV, Excel, TSV, and Google Sheet import
Direct Magento 2 REST API sync (no extension needed)
Configurable products (size/color variants) handled automatically
$129/ one-time
Need Custom Features?Hire Us

Before You Start

0 / 5 Completed
  • A Google account (free Gmail or Google Workspace — either works)
  • Admin access to your Magento 2 store (so you can create an Integration Token)
  • An OpenAI account with a small credit balance (typically under $5/month for AI mapping usage)
  • Your two files from the purchase: Code.gs and Index.html (or the Apps Script project link if you received one)
  • About 15 minutes

You do not need to be a developer. Every step below is point-and-click.

Try Before You Install

The live demo below is the real app UI running on sample product data. Click any tab, add a column, run the AI mapping, simulate a sync, export the log — see exactly what you're getting before you buy or install.

Interactive demo with sample data.Clicking “Save”, “Import”, or other write actions shows a confirmation — real saves happen in the live app.
Interactive Demo
Loading interactive demo…

Step 1: Prepare Your Google Sheet

You have two choices — both work.

  1. Go to sheets.new to create a blank Google Sheet.
  2. Rename it to something memorable — for example Magento Product Catalog.
  3. Add one or more tabs with your product data (headers in row 1, products in the rows below). You can also import your data later from inside the app — this is optional.
  4. Keep this Sheet open; you'll use it in Step 2.

Option B: Standalone script (no bound sheet)

If you prefer to run the app without it being tied to a specific Sheet, skip ahead — you'll configure a Sheet ID in Settings later, or just use the CSV/Excel file import and the built-in grid editor. Everything else is identical.


Step 2: Install the Script

You'll have received two files from Gumroad: Code.gs and Index.html (often inside a ZIP). You'll paste both into Apps Script.

Option A: From inside a Google Sheet (Extensions method)

Best if you chose Option A in Step 1.

  1. In your Sheet, click Extensions → Apps Script.
  2. A new browser tab opens the Apps Script editor with a default Code.gs file.
  3. Select the default Code.gs and replace its entire contents with the Code.gs file from your purchase.
  4. Click the + next to FilesHTML → name it exactly Index (no .html extension — Apps Script adds it). Replace its contents with the Index.html file from your purchase.
  5. Click the Save icon (💾) or press Cmd/Ctrl+S.

Option B: Standalone project

Best if you chose Option B in Step 1 or prefer a dedicated project.

  1. Go to script.google.comNew project.
  2. Rename the project (top-left) to Magento AI Product Manager.
  3. Follow steps 3–5 from Option A above to paste in the two files.

That's every code file the app needs — two of them.

For developers: The ZIP also includes a .clasp.json if you want to use Google's clasp CLI to push the files with one command. Run clasp login, then clasp clone <SCRIPT_ID> (or clasp push --force if you already have a project). Both copy-paste and clasp produce identical results — pick whichever you're comfortable with.


Step 3: Deploy as a Web App

  1. In the Apps Script editor, click Deploy → New deployment (top-right).
  2. Click the gear icon next to Select type → choose Web app.
  3. Fill in:
    • Description: v1
    • Execute as: Me (your email)
    • Who has access: Only myself (recommended) or Anyone with a Google account if you want to share with teammates.
  4. Click Deploy.
  5. On the first deploy, Google will ask you to authorize the script:
    • Click Authorize access → pick your Google account.
    • You will see a "Google hasn't verified this app" warning. This is expected — you are the developer of your own copy of the app. Click Advanced → Go to Magento AI Product Manager (unsafe). Nothing is being sent to a third party; the warning only means Google has not reviewed this personal script.
    • Click Allow on the permissions screen. The app asks for:
      • Connect to an external service (to call Magento + OpenAI)
      • See, edit, create and delete your spreadsheets (to read your product data)
      • Display and run third-party web content (because this is a web app)
  6. Copy the Web app URL shown after deployment. Bookmark it — this is how you will open the app from now on.

Step 4: Create a Magento API Integration

This gives the app a scoped token for your Magento store. It is the safest way to connect — no admin password is stored anywhere.

  1. In your Magento 2 admin panel, go to System → Extensions → Integrations.
  2. Click Add New Integration.
  3. Fill in:
    • Name: Magento AI Product Manager
    • Email: your email
    • Current User Identity Verification: your admin password
  4. Go to the API tab:
    • Resource Access: Custom
    • Tick Catalog → Inventory → Products (and any nested items it reveals)
    • If you plan to upload images, also tick Catalog → Inventory → Catalog → Media Gallery if shown
  5. Click Save.
  6. On the Integrations list, click Activate next to your new integration → Allow.
  7. You will see 4 tokens. Copy the Access Token — the long one. You will paste it into the app in Step 6.

Cannot create an integration? The app also supports Admin username + password authentication. This is less secure (password is stored as plain text in Script Properties) and it will not work if your admin account has 2FA enabled. Skip this step and use the fallback in Step 6 — we'll cover it there.


Step 5: Get an OpenAI API Key

The AI column mapping needs an OpenAI key. This is a tiny ongoing cost — typically under $5/month even for active stores — and you pay OpenAI directly at their public rates. The app never sees your key after you paste it.

  1. Go to platform.openai.com and sign up if you don't have an account.
  2. Add a small starting balance to your account — $5 is plenty for most small stores. OpenAI charges only for what you use.
  3. Go to API Keys in your OpenAI dashboard → Create new secret key.
  4. Copy the key (starts with sk-...). You will paste it into the app in Step 6.

What goes to OpenAI? Only column headers and up to 3 sample rows from your sheet — just enough for the AI to understand the structure. Your full catalog, prices, and customer-facing data never leave your Google Workspace. See the Privacy note in the app's Settings page for details.


Step 6: Connect Everything

  1. Open the Web app URL from Step 3.

  2. Click Settings in the left sidebar.

  3. Fill in the Magento Connection panel:

    • Store URL: your Magento root URL (e.g. https://yourstore.com, not the admin path).
    • Authentication Method: Integration Access Token (Recommended).
    • Access Token: the long token from Step 4.
  4. (Optional) Fill in the Google Sheet Source panel only if you chose standalone deployment in Step 1. Paste the Sheet ID from the URL:

    https://docs.google.com/spreadsheets/d/1aBcDeFgHiJkLmNoPqRsTuVwXyZ/edit
                                          └──────── Sheet ID ────────┘
    
  5. Fill in the OpenAI Configuration panel:

    • API Key: the key from Step 5.
    • Model: leave the default GPT-5.4 Mini — it's the best balance of speed and cost for this task.
  6. Click Save All SettingsTest Connection. You should see a green ✓ Connected: https://yourstore.com/ line.

Your credentials live inside your own Apps Script's Script Properties — the same security boundary as any Apps Script you write yourself.

If Admin Login Mode Is Your Only Option

If you chose Admin Username & Password in Step 6:

  • A red Security Notice appears in the app — read it. Your password is stored as plain text; only use this method if you cannot create an Integration Token.
  • Your Magento admin user must not have 2FA enabled. Magento's admin-token endpoint returns an HTML login page when 2FA is active, and the app will clearly tell you this if it detects the issue.
  • Prefer the Integration Token method whenever possible.

Your First Upload

Let's do a small test upload — three products. You'll see how the entire flow works before committing to your real catalog.

  1. In the app, click Product Grid in the sidebar. A pre-filled example grid is shown.
  2. (Optional) Replace the sample data with 2–3 of your own test SKUs — make sure to use SKUs that don't already exist in your store, or pick SKUs you're fine updating.
  3. Click AI Map & Send (the orange button, top-right of the grid).
  4. You'll be taken to AI Mapping. Watch the "AI is analyzing your columns..." spinner — it takes 1–3 seconds.
  5. The mapping table appears:
    • Your Column — the header you have in the grid.
    • Magento Field — what the AI thinks it should become. Click the dropdown to override anything you don't like.
    • Confidence — green ≥ 80%, orange 50–79%, red < 50%.
    • Reason — why the AI picked that field.
  6. Make sure SKU is mapped to your unique identifier column — this is the one mandatory field.
  7. Click Confirm & Send to Magento. A confirmation dialog asks you to verify — click through.
  8. You're taken to Results. A live progress bar runs row by row, showing Created, Updated, or the exact Magento error message if something fails.
  9. When it finishes, click Export Log (CSV) to download the full record.
  10. Open Magento admin → Catalog → Products and verify your test SKUs are there.

If anything failed, the error message in the Results page is the actual response from Magento — it'll tell you what's wrong (e.g. "attribute_set_id does not exist", "SKU already exists" for updates, etc.). See the Troubleshooting section below for common fixes.


Using the App

The app has a left-hand sidebar with five pages:

PageWhat it does
Product GridYour staging area. Paste, edit, add columns, and send products.
ImportBring data in from CSV, Excel, or a Google Sheet tab.
AI MappingReview and confirm the AI's column-to-Magento mapping.
ResultsLive sync progress, per-row status, and CSV log export.
SettingsMagento URL, authentication, Sheet ID, OpenAI key + model.

Product Grid

A spreadsheet-style editor optimized for Magento uploads.

  • + Column — add a new column (you'll be prompted for a name via a custom modal).
  • + Row / + 10 Rows — extend the grid vertically.
  • Clear All — empties the grid (with a confirmation prompt).
  • AI Map & Send — sends column headers + 3 sample rows to OpenAI, then takes you to the Mapping page.
  • Paste from Excel / Sheets — just Ctrl/Cmd+V into any cell. Multi-cell paste is supported.
  • Delete a column — hover the column header → click the × that appears. Confirmation modal protects you.

Your grid state lives in the page only — refresh the page and you're back to the default sample data. Use Import (below) to load real data from your Sheet or a file.

Import

Three ways to get data into the grid:

  • CSV / Excel File tab — drag a .csv, .tsv, .xlsx, or .xls file onto the drop zone. Excel files should ideally be saved as CSV first for the most reliable parsing.
  • Google Sheet tab — pick a tab from your bound Sheet (or the Sheet ID you configured in Settings), click Load into Grid.
  • Manual entry — just type into the grid; it's a full editor.

All three methods end up in the same Product Grid, ready for mapping.

AI Mapping

ColumnWhat it shows
Your ColumnThe header from your sheet/CSV.
Magento FieldAI's suggestion — dropdown to override.
Confidence0–100% with a color dot (green / orange / red).
ReasonOne-line explanation of why the AI picked that field.

Key rules:

  • SKU is mandatory. At least one column must be mapped to sku. The app refuses to send without it.
  • Unmapped columns = SKIP. Any column you don't want to send, set to — SKIP —.
  • Standard fields are sku, name, price, qty, weight, status, visibility, description, short_description, meta_title, meta_description, meta_keyword, url_key, type_id, attribute_set_id, categories, image.
  • Custom attributes already defined in your Magento (e.g. color, size, manufacturer, material) are fetched automatically and appear as dropdown options.
  • Re-run AI Mapping — click the button any time to retry; the AI may refine its picks if you've added/removed columns.

Results

Appears during and after a sync:

  • Progress bar — fills from 0% → 100% row by row.
  • Counter12 / 47 format shows current position.
  • Per-row log — each SKU with OK / ERR / CNL badge, row number, and Magento's response message.
  • Cancel Sync — stops the run cleanly. The current row finishes; everything after is skipped.
  • Export Log (CSV) — downloadable after sync completes; includes row number, SKU, status, and message for every row.

Settings

  • Store URL — your Magento root (e.g. https://yourstore.com).
  • Authentication Method — Integration Token (recommended) or Admin User (legacy fallback).
  • Google Sheet Source — optional Sheet ID for standalone deploys.
  • OpenAI API Key and Model — swap the model any time without a code change.
  • Test Connection — run after any change; the app auto-saves before testing so you never test stale values.

Configurable Products

Configurable products (e.g. a t-shirt with Size and Color variants) have a parent product plus one or more child products (the variants). The app handles the whole setup automatically — but your sheet has to be structured correctly.

Sheet Structure

RowSKUProduct NamePricetype_idparent_skuconfigurable_attributesColorSize
1 (parent)TSHIRT-MAINOrganic Tee24.99configurable(empty)color,size(empty)(empty)
2 (child)TSHIRT-RED-SOrganic Tee Red S24.99simpleTSHIRT-MAIN(empty)RedS
3 (child)TSHIRT-RED-MOrganic Tee Red M24.99simpleTSHIRT-MAIN(empty)RedM
4 (child)TSHIRT-BLU-SOrganic Tee Blue S24.99simpleTSHIRT-MAIN(empty)BlueS

Three Rules You Cannot Break

  1. Parent first. The parent row (type_id = configurable) must appear above its children in the grid. The app syncs top-to-bottom; if a child runs before its parent exists, linking fails.
  2. configurable_attributes on the parent only. Comma-separated list of the attribute codes that define variations — e.g. color,size. These attributes must already exist in your Magento backend as dropdown (select) attributes; the app does not create attributes.
  3. parent_sku on children only. The child rows point to the parent's SKU through this column.

What the App Does Automatically

  • Creates or updates the parent product.
  • Reads your Magento attribute definitions to populate the configurable options with all existing values (required for Magento 2.4+).
  • Creates each child as a simple product.
  • Links every child to its parent via the /rest/V1/configurable-products/{parent}/child endpoint.
  • Reports link status on the Results page (e.g. Created & Linked to TSHIRT-MAIN).

Confirmation Prompt

When the app detects parent_sku or configurable_attributes in your mapping, an extra confirmation modal appears before sending:

⚠ Configurable Products Detected

Parent products must be listed ABOVE their children in the grid. If a child syncs before its parent, it will fail.

Just click Continue Sync if your sheet is ordered correctly.


Image Upload

Add a column called image, images, or base_image (the AI recognizes all three) and put a public URL in each row. The app:

  1. Fetches the image URL server-side (Google's IP, not your browser).
  2. Encodes it as base64.
  3. Uploads it to Magento's media gallery via media_gallery_entries.
  4. Sets it as the product's base image, small image, and thumbnail (for the first image).

Requirements for image URLs:

  • Must start with http:// or https://.
  • Must be publicly accessible — no authentication, no CORS walls, no IP allowlists.
  • Supported formats: JPG, PNG, GIF, WebP.

Tip: If your supplier hosts images behind authentication, upload them to a public CDN first (Google Drive's public share links do not work reliably — use a real CDN like Cloudinary, or just drop the files into a public Google Cloud Storage bucket).

Multiple images per product? Use a separator like | and split in a helper column, or add multiple image columns (image_1, image_2, etc.) and map each one to image — the first becomes primary, the rest attach as additional gallery entries.


Custom Attributes

Any attribute already defined in your Magento backend — whether built-in or custom — can be mapped to a column in your sheet.

  • The app calls /rest/V1/products/attributes during AI mapping and feeds the list to the AI.
  • Custom codes like manufacturer, material, country_of_manufacture, color, size appear in the Magento Field dropdown automatically.
  • For attribute types that use dropdown/select options (e.g. Color: Red), make sure the value in your sheet exactly matches an existing option label, or use the option's numeric value. The app does not create new dropdown options — that would require modifying your Magento attribute configuration.

Common Workflows

"Upload 50 new products from a supplier CSV"

  1. Settings → confirm connection.
  2. Import → drag the CSV onto the drop zone.
  3. Product Grid → spot-check a few rows for obvious parse errors (broken rows, wrong delimiter).
  4. Click AI Map & Send → review the mapping → click confirm.
  5. Watch Results → Export CSV log when done.

"Update prices for 200 existing products"

  1. Import your CSV with just sku and price columns (other columns can exist; just map them to SKIP).
  2. Map skusku, priceprice, everything else SKIP.
  3. Confirm & Send — the app detects existing SKUs (bulk existence check) and uses PUT to update rather than create.
  4. Results shows Updated for each row.

"Migrate a t-shirt line with size + color variants"

  1. Sort your sheet so parents appear before children.
  2. Include type_id, parent_sku, and configurable_attributes columns as described in Configurable Products.
  3. AI Map → verify configurable_attributes maps to configurable_attributes, parent_sku maps to parent_sku.
  4. Confirm & Send → handle the configurable-products warning.

"Big supplier drop — 3,000 products"

  1. Split the sheet by category or brand (e.g. 4 chunks of ~750).
  2. Run each chunk through the app separately. Each run's progress is saved in the Results page.
  3. If a run hits the 6-minute Apps Script execution limit, simply click AI Map & Send again with the remaining rows — the batch size (15 per server call) keeps most runs well under the limit.

Updating to a New Version

When a new version is released, you don't reinstall — just paste the new code into your existing project:

  1. Open your Apps Script project (Extensions → Apps Script from the Sheet, or find it in script.google.com).
  2. Replace the contents of Code.gs and Index.html with the new versions from your Gumroad download page.
  3. Click Save (💾).
  4. Deploy → Manage deployments → ✏️ Edit → New version → Deploy.

Your settings, API keys, and Sheet ID are preserved — they live in Script Properties, not in the code.

Free updates policy: Your purchase includes 1 full year of free updates from the purchase date. After that year, you keep your current version forever and can renew updates at 50% of the then-current price.


Troubleshooting

"Server returned an HTML page instead of JSON" when testing connection — Your Magento login endpoint returned an HTML page rather than a JSON token. Common causes:

  • Wrong Store URL (double-check https:// and that it's the root, not the admin path).
  • 2FA enabled on your admin user (Magento's admin-token endpoint can't handle 2FA — switch to Integration Token or disable 2FA on that user).
  • Cloudflare/IP allowlist blocking Google's servers from reaching your store.
  • REST API disabled in Magento's System → Web Services.

"Magento login failed" with admin auth — The admin username or password is wrong, or 2FA is enabled. Switch to Integration Access Token mode; it's both more secure and immune to this problem.

"Authentication failed (401)" with token auth — The Integration Access Token is wrong, expired, or was revoked. Re-copy it from Magento: System → Integrations → Your Integration → Access Token.

"Access denied (403)" — The integration doesn't have Catalog → Products permission. Edit the integration in Magento and grant that resource.

"SKU missing" during sync — One of your rows doesn't have a value in the column mapped to sku. Empty SKU rows are skipped with this error — fix the data and re-run.

"Attribute set_id does not allow custom attribute X" — You're trying to set an attribute that isn't part of the product's attribute set. In Magento, each product belongs to an attribute set (default is ID 4, "Default"), and attribute sets list which attributes are allowed. Either add the attribute to the set in Magento admin, or map that column to — SKIP —.

"Option label not found" for configurable / dropdown attributes — You're passing a color like "Red" but your Magento color attribute has it as "RED" or uses a code. Open the attribute in Magento admin → Storefront Properties → Manage Options and match the label exactly, or send the numeric option ID instead of the label.

Configurable parent syncs OK but variations don't show up on the storefront — Each child must have values for all of the parent's configurable_attributes. A child missing size will create and link but won't render as a variation option. Check that every child row has values in the columns you listed in configurable_attributes.

Image upload failed — The image URL isn't reachable from Google's servers. Test it by opening the URL in an incognito window — if you need to log in, the app can't fetch it either. Move the image to a public CDN.

OpenAI error: "You exceeded your current quota" — Your OpenAI account is out of credit. Go to platform.openai.comBilling → add a top-up. The default GPT-5.4 Mini usage for column mapping is extremely cheap ($5 lasts most users months), so this is usually a cold-start issue.

OpenAI error: "model not found" — The model name in Settings doesn't exist in your OpenAI account's allowed list. Switch to gpt-5.4-mini (the default) from the dropdown.

"Exceeded maximum execution time" at the end of a big sync — Apps Script runs hit 6 minutes. The batch architecture usually prevents this, but for very large catalogs (hundreds of rows), split into two sends. Click AI Map & Send with the unfinished rows — the app detects existing SKUs and updates rather than creates, so there's no risk of duplicates.

"Cancelled by user" appears unexpectedly — You clicked the Cancel Sync button, or another tab/window closed the sync. The current row completed; everything after was skipped. Click AI Map & Send again to pick up where you left off.

Google warns "this app isn't verified" on first open — Expected for your own personal script. The warning is a generic Google message for Apps Script that hasn't gone through Google's public-app verification (which is only relevant if you were distributing the app publicly). Click Advanced → Go to [app] (unsafe) to proceed. You are not sending data to anyone — the "app" is your own code in your own Google account.


Frequently Asked Questions

Do I need to install a Magento extension? No. The app uses Magento's built-in REST API — the same one the admin panel uses. You only create an Integration Token in Magento Admin (System → Integrations) and paste it into the app. No composer commands, no module uploads, no developer mode.

Do I pay every month? No. One-time purchase — $129 (Standard), $159 (Managed), or custom. You own your copy forever. The only ongoing cost is OpenAI's charge for AI column mapping, which is typically under $5/month for most small stores and is paid directly to OpenAI at their public rates.

How much does OpenAI cost per upload? The AI runs once per upload batch, reading only your column headers + 3 sample rows. With the default GPT-5.4 Mini model, each mapping call costs a fraction of a cent. Uploading 1,000 products in 10 batches might cost $0.05–$0.20 total.

Where does my data go? Nowhere but your own Google account. The script runs inside your Google Apps Script environment and talks directly to your Magento store. Only column headers and 3 sample rows go to OpenAI. We never see your catalog, your tokens, or your Google Sheet.

Which Magento versions are supported? Magento 2.3, 2.4+ (including the latest 2.4.8), Magento Open Source, and Adobe Commerce. The app uses the stable /rest/V1/products API. Magento 1.x is not supported.

Which OpenAI models work? Any chat-completion model — GPT-5.4, GPT-5.4 Mini (default), GPT-5.4 Nano, GPT-5.4 Pro, GPT-5.2. Swap the model from Settings any time; no code change needed.

Can I use Gemini or Claude instead of OpenAI? Not out of the box. The app is wired specifically to OpenAI's chat-completions endpoint. If you want another provider, our Custom+ tier covers that kind of customization.

Can it handle configurable products with size and color? Yes — fully automated. List the parent row first, then child rows with parent_sku pointing to the parent. See the Configurable Products section.

Can I upload product images from URLs? Yes. Any public image URL — JPG, PNG, GIF, or WebP — gets fetched and uploaded to Magento's media gallery as part of the sync. See Image Upload.

Will this break if my supplier sends weirdly-named columns? That's the whole point of the AI. Whether a column is called PROD_SKU, sku_code, stok_kodu, or Reference_Number, the AI reads the values and matches it to Magento's sku field. For the rare column the AI can't figure out, you override it with one dropdown click.

Can I modify the code? Yes. The source is plain, unencrypted JavaScript in your own Apps Script project. Edit anything you like — add a custom mapping rule, a new field type, a webhook notification. If you build something useful, let us know.

Can multiple people from my team use the same installation? Yes. Re-deploy the web app with Who has access: Anyone with a Google account and share the Web App URL with your team. All of them see the same Magento connection and upload into the same store. For multiple stores, create a separate Apps Script project per store.

What happens when I run out of my 1-year update window? You keep the version you have forever; it doesn't stop working. Optional updates after year 1 are available at 50% of the then-current price, via Gumroad.

Refund policy? 7-day refund on the Standard plan if the app doesn't connect to your Magento store, provided you've shared the error message with us first so we can try to help. After a successful first sync, no refunds — the product has been delivered and used. Managed plan is refundable within 48 hours if installation hasn't been scheduled yet.

I'm not technical — should I buy Standard or Managed? Standard if you can copy-paste files and click through a 15-minute setup (the guide above). Managed if you want us to install everything, wire up your Magento + OpenAI accounts, and hand you a working system. Most non-technical buyers pick Managed and save themselves an afternoon of Googling.