Everything Sidekick adds to your Maropost cPanel, how to set it up, and a rundown of each feature.
Yotabyte Sidekick is a free browser extension for Chrome and Firefox that sits on top of Maropost / Neto cPanel and your storefront. It adds a command palette, a right-edge drawer, right-click actions, and live in-page overlays. Nothing it does replaces what Maropost already ships, it fills in the small gaps operators work around every day. The same features are available on both browsers.
Everything lives in your browser. Sidekick never sends data to Yotabyte. The only network calls it makes are to your own Maropost store, with your own API key, and only when a feature you've enabled needs it.
Features are organised as plugins, each with its own settings. A few features need an API key connected; the rest work the moment you install.
Sidekick runs on Chrome and Firefox, with the same features on both. Add to Chrome → ยท Add to Firefox →
Open any Maropost cPanel (a /_cpanel URL). Sidekick recognises the host and registers it as a store, keeping its quick links, settings, and credentials in a separate bucket per store. If you run sandboxes or a storefront on linked domains, add them so they share the same store.
Press Ctrl + Space anywhere in cPanel to open the palette. Start typing to jump to a page, run a lookup, or trigger an action. The shortcut is configurable (Ctrl + ., Ctrl + Shift + K, or Ctrl + J) in settings. The floating button at the screen edge opens the same drawer if you'd rather click.
Some features, like the order-margin overlay, read from the Maropost API. Open the API setup tutorial from the drawer and Sidekick walks you through creating a read-only API user and permission group, then captures the key. The key is stored locally and only ever talks to your own store.
Register every Maropost cPanel you work in. Sidekick keeps quick links, settings, and credentials in a separate bucket per store, so nothing leaks between clients. Linked domains let a store's sandbox and storefront share the same configuration.
A keyboard-first palette of verbs that features contribute. Open it with Ctrl + Space and start typing.
order 12345, product SKU-1, customer jane. Numeric lookups fall through to search when you type a non-numeric term.! to force the staging / linked domain.Built-in jumps to the cPanel pages you visit most, plus your own saved destinations. One click on Add this page saves wherever you are. Quick links are scoped per store and show in both the drawer and the palette.
Save any page with a custom label and it becomes a palette command. Use it for the specific orders, products, or reports you keep coming back to, named the way you think of them rather than by URL.
Sidekick harvests the dynamic parts of cPanel, the left-nav flyouts and your custom scripts table, into palette commands, then keeps them fresh as the page changes. The result is cached per store so the palette stays fast.
Context-menu items on cPanel and your linked storefront domains. Highlight a SKU, an order ID, or an email, right-click, and jump straight to the matching record.
In-page UI that quietly attaches to known cPanel pages: a top strip with the metadata you wish was there, plus inline chips next to the rows you care about. Enhancers stay out of the way on login and auth pages.
Sidekick can add extra columns to the Maropost product list. Each column is one of two kinds: a Maropost API field, a hard value fetched per product straight from the product record, or a computed column, a formula Sidekick evaluates on the client from other fields on the same product. You toggle fields on and off from a searchable Columns panel in the product-list filters bar, so you only pull the data you actually want to see.
Custom computed columns use a simple template string with {expr} holes: everything outside the braces is literal text, and each hole is an expression evaluated against the product. For example {round((DefaultPrice-CostPrice)/DefaultPrice*100)}% renders a whole-number markup percentage with a trailing % sign. Expressions reference the field names exactly as they appear in the Field name column of the table below.
The Columns button lives in the product-list filters bar. Open it for a searchable list of everything you can show: the built-in GP margin column, your own computed columns, every Maropost API field, and Maropost's own native columns. Sidekick reads the native columns straight off Maropost's built-in column customiser, so every column Maropost can toggle appears in the same dropdown alongside Sidekick's, one place to turn any column on or off. (This native-column scraping is on the product list only.)
Every scalar field below can be added as its own column. Field name is the exact Maropost api_name, use it verbatim in computed-column formulas.
| Field name | Label | Type | Description |
|---|---|---|---|
ID | Product ID / SKU | String | Maropost internal product identifier (the SKU). |
ParentSKU | Parent SKU | String | SKU of the parent product for variant grouping. |
Name | Product Name | String | Display name of the product. |
Brand | Brand | String | Product brand. |
Model | Model | String | Product model name. |
ModelNumber | Model Number | String | Manufacturer model number. |
Subtitle | Subtitle | String | Secondary product title. |
PrimarySupplier | Primary Supplier | String | Default supplier for the product. |
SupplierItemCode | Supplier Item Code | String | Supplier's own code for the item. |
OriginCountry | Country of Origin | String | Country the product originates from. |
Virtual | Virtual | Boolean | Whether the product is virtual/non-physical. |
Approved | Approved | Boolean | Whether the product is approved. |
IsActive | Active | Boolean | Whether the product is active. |
IsNetoUtility | Neto Utility | Boolean | Whether it is a Maropost utility/system item. |
IsGiftVoucher | Gift Voucher | Boolean | Whether the item is a gift voucher. |
IsAsset | Is Asset | Boolean | Whether the item is tracked as an asset. |
IsServiceItem | Service Item | Boolean | Whether the item is a service (non-stock). |
IsVariant | Is Variant | Boolean | Whether the item is a variant of a parent. |
IsInventoried | Inventoried | Boolean | Whether stock is tracked for the item. |
IsBought | Is Bought | Boolean | Whether the item is purchasable from suppliers. |
IsSold | Is Sold | Boolean | Whether the item is sold to customers. |
SerialTracking | Serial Tracking | Boolean | Whether serial numbers are tracked. |
RRP | RRP | Money | Recommended retail price. |
DefaultPrice | Default Price | Money | Standard sell price. |
DefaultPurchasePrice | Default Purchase Price | Money | Standard cost/purchase price. |
CostPrice | Cost Price | Money | Current cost price. |
PromotionTag | Promotion Tag | String | Label/tag for the active promotion. |
PromotionPrice | Promotion Price | Money | Promotional sell price. |
PromotionStartDate | Promo Start | Date | Promotion start date. |
PromotionStartDateLocal | Promo Start (Local) | Date | Promotion start date, local time. |
PromotionStartDateUTC | Promo Start (UTC) | Date | Promotion start date, UTC. |
PromotionExpiryDate | Promo Expiry | Date | Promotion expiry date. |
PromotionExpiryDateLocal | Promo Expiry (Local) | Date | Promotion expiry date, local time. |
PromotionExpiryDateUTC | Promo Expiry (UTC) | Date | Promotion expiry date, UTC. |
ItemLength | Item Length | Number | Physical length of the item. |
ItemWidth | Item Width | Number | Physical width of the item. |
ItemHeight | Item Height | Number | Physical height of the item. |
ShippingLength | Shipping Length | Number | Packaged shipping length. |
ShippingWidth | Shipping Width | Number | Packaged shipping width. |
ShippingHeight | Shipping Height | Number | Packaged shipping height. |
ShippingWeight | Shipping Weight | Number | Packaged shipping weight. |
CubicWeight | Cubic Weight | Number | Calculated cubic (volumetric) weight. |
HandlingTime | Handling Time | Number | Handling/dispatch time in days. |
CommittedQuantity | Committed Qty | Number | Quantity committed to open orders. |
AvailableSellQuantity | Available to Sell | Number | Quantity available to sell across warehouses. |
PreOrderQuantity | Pre-Order Qty | Number | Quantity available for pre-order. |
PickPriority | Pick Priority | Number | Warehouse picking priority. |
PickZone | Pick Zone | String | Warehouse pick zone. |
UnitOfMeasure | Unit of Measure | String | Selling unit of measure. |
BaseUnitOfMeasure | Base Unit of Measure | String | Base unit of measure. |
BaseUnitPerQuantity | Base Units / Qty | Number | Base units per selling quantity. |
QuantityPerScan | Qty per Scan | Number | Quantity added per barcode scan. |
BuyUnitQuantity | Buy Unit Qty | Number | Quantity per buy unit. |
SellUnitQuantity | Sell Unit Qty | Number | Quantity per sell unit. |
AccountingCode | Accounting Code | String | Accounting/GL code. |
SortOrder1 | Sort Order 1 | Number | Primary sort order. |
SortOrder2 | Sort Order 2 | Number | Secondary sort order. |
DateArrival | Date Arrival | Date | Expected stock arrival date. |
DateArrivalUTC | Date Arrival (UTC) | Date | Expected arrival date, UTC. |
DateAdded | Date Added | Date | Date the product was added. |
DateAddedLocal | Date Added (Local) | Date | Date added, local time. |
DateAddedUTC | Date Added (UTC) | Date | Date added, UTC. |
DateCreatedLocal | Date Created (Local) | Date | Date created, local time. |
DateCreatedUTC | Date Created (UTC) | Date | Date created, UTC. |
DateUpdated | Date Updated | Date | Last updated date. |
DateUpdatedLocal | Date Updated (Local) | Date | Last updated, local time. |
DateUpdatedUTC | Date Updated (UTC) | Date | Last updated, UTC. |
SearchKeywords | Search Keywords | String | Keywords used for on-site search. |
ShortDescription | Short Description | String | Brief product description. |
Description | Description | String | Full product description (HTML). |
Features | Features | String | Product features content. |
Specifications | Specifications | String | Product specifications content. |
Warranty | Warranty | String | Warranty information. |
eBayDescription | eBay Description | String | Description used for eBay listings. |
TermsAndConditions | Terms & Conditions | String | Item terms and conditions. |
AvailabilityDescription | Availability Description | String | Text describing stock availability. |
ArtistOrAuthor | Artist / Author | String | Artist or author (media items). |
Format | Format | String | Media/product format. |
InternalNotes | Internal Notes | String | Internal staff notes. |
ImageURL | Image URL | String | URL of the primary image. |
BrochureURL | Brochure URL | String | URL of a product brochure. |
ProductURL | Product URL | String | Public product page URL. |
ItemURL | Item URL | String | Item URL slug. |
AutomaticURL | Automatic URL | Boolean | Whether the URL is auto-generated. |
UPC | Barcode / UPC | String | Primary barcode / UPC. |
UPC1 | UPC 1 | String | Additional barcode 1. |
UPC2 | UPC 2 | String | Additional barcode 2. |
UPC3 | UPC 3 | String | Additional barcode 3. |
Type | Type | String | Product type. |
SubType | Sub Type | String | Product sub-type. |
ReferenceNumber | Reference Number | String | Internal reference number. |
HSTariffNumber | HS Tariff Number | String | Harmonised System customs tariff code. |
NumbersOfLabelsToPrint | Labels to Print | Number | Default number of labels to print. |
BarcodeHeight | Barcode Height | Number | Barcode print height. |
EditableKitBundle | Editable Kit/Bundle | Boolean | Whether kit/bundle contents are editable. |
RequiresPackaging | Requires Packaging | Boolean | Whether the item requires packaging. |
SplitForWarehousePicking | Split for Picking | Boolean | Whether the item is split for warehouse picking. |
DisplayTemplate | Display Template | String | Template used to display the product. |
Group | Group | String | Product group. |
ShippingCategory | Shipping Category | String | Shipping category assignment. |
Job | Job | String | Associated job. |
MonthlySpendRequirement | Monthly Spend Requirement | Money | Minimum monthly spend requirement. |
RestrictedToUserGroup | Restricted to User Group | String | User group the item is restricted to. |
WhenToRepeatOnStandingOrders | Standing Order Repeat | String | Repeat cadence on standing orders. |
TaxCategory | Tax Category | Enum | Tax category assignment. |
TaxFreeItem | Tax Free | Boolean | Whether the item is tax free. |
TaxInclusive | Tax Inclusive | Boolean | Whether prices are tax inclusive. |
AuGstExempt | AU GST Exempt | Boolean | Exempt from Australian GST. |
NzGstExempt | NZ GST Exempt | Boolean | Exempt from New Zealand GST. |
CustomContent | Custom Content | String | Custom content block. |
CustomNonDelivery | Custom Non-Delivery | String | Custom non-delivery content. |
SEOPageTitle | SEO Page Title | String | SEO page title. |
SEOMetaKeywords | SEO Meta Keywords | String | SEO meta keywords. |
SEOPageHeading | SEO Page Heading | String | SEO H1/page heading. |
SEOMetaDescription | SEO Meta Description | String | SEO meta description. |
SEOCanonicalURL | SEO Canonical URL | String | SEO canonical URL. |
ExpenseAccount | Expense Account | String | Linked expense account. |
PurchaseTaxCode | Purchase Tax Code | String | Purchase tax code. |
CostOfSalesAccount | Cost of Sales Account | String | Linked cost-of-sales account. |
IncomeAccount | Income Account | String | Linked income account. |
AssetAccount | Asset Account | String | Linked asset account. |
In addition to the fields above, every product carries 52 general-purpose custom string fields named Misc01 through Misc52. They hold whatever text your store has mapped to them, so what each one means is specific to your setup. Add any of them as a column, or reference them by name in a computed column, exactly like the fields in the table.
A computed column is a template string. Text outside the braces is printed as-is; each {expr} hole is an expression Sidekick evaluates per product. Expressions support arithmetic + - * / %, string concatenation with +, and reference the field names from the table above. These helper functions are available:
round(x, n) — round x to n decimal places (n optional, defaults to a whole number)upper(s) — uppercase a stringlower(s) — lowercase a stringtrim(s) — strip leading and trailing whitespaceabs(x) — absolute valuenumber(x) — coerce a value to a numberlen(s) — length of a stringconcat(...) — join any number of values into one stringdate(v, fmt) — format a date value v using pattern fmtExample formulas:
{round((DefaultPrice-CostPrice)/DefaultPrice*100)}%{round(DefaultPrice-CostPrice, 2)}{concat(Brand, ' ', Model)}{date(DateAdded, 'YYYY-MM-DD')}A formula that can't be worked out (a typo or an unknown field name) shows a small error marker in the cell rather than breaking the row.
The order list gets the same Columns panel as the product list, in its filters bar. Add Maropost GetOrder fields, your own computed columns, and a set of built-in columns to the order lines. Search, drag to reorder, and double-click a header to rename, exactly as on products.
Orders have two levels, and the panel understands both. Order-level fields (and the order margin and RMA columns) render once on the order row; line-level fields render against each line. A master switch at the top of the panel, Show order-line column headers, labels every order's lines and gates the column list, turn it on to start adding columns.
On the order lines, each SKU is also a link straight to its product page, so you can jump from an order to a product without a search.
These built-ins draw on the Maropost API, so they need a connected API key (see Getting started). Whatever columns you turn on, Sidekick gathers their data in a single batched, memoised round of API calls per page of the list, rather than one call per column or per row, so adding columns doesn't multiply the requests.
Live dollar and percentage margin on your orders, worked out from each line's cost and sell price. On a single order it appears as a Margin line just below the Grand Total; on the orders list it's the Line margin and Order margin columns you add from the Columns panel. Margins reflect the cost at the moment the order was placed, so they stay stable if prices change later. The badge turns red under 10% so thin orders stand out. Requires a connected API key (see Getting started).
How the margin is worked out is two editable settings under Settings → Order margin: a Revenue formula and a Margin formula. Both are evaluated once per order line and summed into the order total, so they read just like a PDP custom field. The revenue formula defines the line's ex-GST revenue; the margin formula defines the dollar margin and can reference that revenue as revenue. Splitting them keeps the dollar figure and the percentage consistent, changing what counts as revenue updates both at once.
The defaults are:
UnitPrice * Quantity - ProductDiscount - Taxrevenue - CostPrice * Quantity
These reconcile against real orders including discounted and GST-inclusive ones: UnitPrice is the GST-inclusive, pre-discount unit price, so subtracting the line's actual Tax and ProductDiscount gives the true ex-GST, post-discount revenue, no dividing by 1.1. ProductDiscount already includes any coupon, so you don't subtract the coupon again. Shipping and other order-level charges aren't line items, so they're naturally left out unless you add them.
Both formulas use the raw Maropost order-line field names. The fields Sidekick currently exposes are:
UnitPrice — the price the item sold for, per unit (GST-inclusive on Australian stores)CostPrice — the item's cost at the time of the order, per unit (ex GST)Quantity — units of that line on the orderTax — the GST charged on the lineProductDiscount — product-level discount appliedPercentDiscount — percentage discount appliedCouponDiscount — coupon discount appliedShipping — shipping charged against the line
These come straight from the Maropost GetOrder API — see its OrderLine section for the full schema. Per unit vs line total: UnitPrice and CostPrice are per unit (multiply by Quantity), whereas Tax is the whole line's GST already — so the default subtracts it once, not per unit. Maropost doesn't document the discount fields and Shipping the same way, so glance at a known order to confirm before relying on them. Want another field wired in? Ask on the feedback board.
With the default revenue formula already handling GST and discounts, most tweaks live in the Margin formula and build on revenue:
revenue * 0.97 - CostPrice * Quantityrevenue - CostPrice * Quantity - 2 * Quantityround(revenue - CostPrice * Quantity, 2)round and abs are available too.
To change what counts as revenue, edit the Revenue formula instead, for example UnitPrice * Quantity - ProductDiscount - Tax + Shipping to fold shipping into revenue. Because the percentage divides by revenue, the % and the dollar figure stay in step.
The percentage next to the dollar figure is the margin divided by the order's ex-GST revenue, so it's a true gross-margin %. A formula that can't be worked out (a typo, an unknown field) shows a small formula error flag and falls back to the defaults, so the page never breaks.
A line that sold but has no cost price set pulls a cost of $0, which makes its margin look like a misleading ~100%. Turn on Flag lines with no cost price in the order-margin settings and Sidekick shows a no cost warning in place of the percentage on those orders, keeping the dollar figure, rather than reporting a margin you can't trust. It's off by default, since a genuine $0 cost can legitimately exist.
On the cPanel Advertising Manager list, Sidekick adds an Image column showing each advert's banner as a thumbnail, so you can eyeball every creative at a glance instead of opening adverts one by one. Click a thumbnail to zoom it full-size in an in-page lightbox. No API key needed, the banners load straight from your store.
On your storefront product pages, Sidekick adds an edit in cPanel link that takes you straight to the matching product record. It auto-calibrates which part of the page holds the SKU, so it keeps working across themes.
When cPanel shows the "session in use" interstitial on login, Sidekick can take over the session automatically so you skip the extra click. Toggle it per store in settings.
Every feature exposes its own settings in one slide-out pane, grouped by feature with a sticky filter input at the top. Toggle anything per store. To turn a whole feature off, switch it off here and its commands and overlays disappear.
Got an idea or hit a snag? Sidekick ships features as plugins and good ideas land fast, request one on the public feedback board.