Orderful
- 41 skills
- 0 followers
- 4 hours ago last updated
- ▌ Dsco Portal Onboarding · orderfulWalk through the Rithum/DSCO supplier onboarding portal (15 steps) when connecting a customer to a retailer via DSCO dropship. Covers catalog upload, inventory, test orders, AS2 setup, automation jobs, acknowledgement, shipping, invoicing, and returns. Use when the user says "DSCO portal", "Rithum onboarding steps", "supplier checklist", "complete DSCO testing", or is working through the DSCO portal for a customer. Requires internal round-trip testing to be complete first.
- ▌ Rithum Dsco End To End · orderfulEnd-to-end playbook for onboarding a trading partner (retailer) via Rithum/DSCO dropship — from confirming the EDI path and recon, through Orderful org + partnership setup, internal Orderful↔NetSuite round-trip testing, the 15-step Rithum/DSCO portal, AS2 + automation jobs, production cutover, and the gated go-live / smoke-test sequence. Self-contained single guide with the watchouts that only bite in the field. Use when onboarding any customer that fulfills via Rithum/DSCO (formerly CommerceHub) dropship — e.g. AAFES, Chewy — or the user says "onboard <customer> on DSCO", "Rithum dropship end to end", "how do I work with Rithum for a trading partner", "DSCO onboarding playbook".
- ▌ Build Mock Fulfillments · orderfulBuild a mock Item Fulfillment from a NetSuite Sales Order, pack it with Orderful carton + shipped-item records, and fire the outbound 856 by setting `custbody_orderful_ready_to_process_ful = true`. Starts with a Sales Order outbound-readiness pre-flight so the IF transform doesn't fail silently. Use when running an end-to-end test cycle for a new customer, or when the user says "build the IF and fire the 856", "ship these SOs and send the ASN", "/build-mock-fulfillments", "test the 856 mapping for customer X", or "create test fulfillments" — the procedural counterpart to `bill-and-fire-810` (which handles the Invoice/810 step).
- ▌ Inject Test Transaction · orderful bundleSafely inject a test inbound EDI transaction (e.g., 850, 855, 856) to Orderful and verify it routes to a sandbox SuiteApp instance — never to production. Looks up the right test ISAs from the Orderful relationship, confirms NS sandbox customer wiring matches, posts the transaction, then watches the polling buckets and immediately calls confirm-retrieval if the transaction lands in a prod bucket. After a clean sandbox landing, monitors the target NS for ingest and reports the resulting record state. Use when the user says "inject a test 850", "send a test transaction to sandbox", "test the inbound JSONata change", "let's mock a 945 from the 3PL", or any other "send a synthetic EDI transaction into our system without it touching prod" scenario.
- ▌ Submit Test Transaction · orderfulSubmit a test EDI transaction to an Orderful customer org via the v3 API. Covers building test transactions from live reference data when no historical exists, the correct API endpoint and auth, common payload errors and how to avoid them. Use when the user wants to submit a test 850/856/810 to Orderful, says "send a test transaction", "upload a test 850", "submit test EDI", or is testing a partnership before NS integration.
- ▌ Writing Inbound Jsonata · orderfulAuthor and review inbound JSONata advanced mappings for the Orderful NetSuite SuiteApp on 850 Purchase Orders. Covers the BDO override pattern, the userDefinedFields path for custom-field writes (the non-obvious part), the pre-registered helper functions ($lookupContact, $lookupItems, $lookupRecords, etc.), and the raw Mosaic input shape. Use when the user is editing the Advanced Mapping pane for an 850, asks for an inbound JSONata expression, mentions $defaultValues, or wants to populate a custom field on a Sales Order from inbound EDI data.
- ▌ Configure Packing Groups · orderful bundleConfigure how the Orderful SuiteApp splits fulfilled quantity into cartons for the 856 ASN — starting with the zero-record "Units per Carton" item field and escalating to packing group records only when pallets, default dimensions, even distribution, or per-customer variation are actually needed. Audits what a customer already has before changing anything. Use when the user says "set up packing groups", "configure units per carton", "the ASN is making one carton per unit", "how many cartons will this build", "set up auto pack for <customer>", or is standing up 856 packing for a new customer.
- ▌ Writing Outbound Jsonata · orderfulAuthor and iterate JSONata expressions that fix outbound EDI message validation errors for a specific customer × document type. Combines NetSuite SuiteQL lookups, the Orderful SuiteApp's JSONata engine, and tight reprocess loops. Use when the user says "write JSONata for the X transaction", "fix this 856/810/855", "the partner is rejecting on validation", "help me iterate on advanced mapping", or "the SF segment is wrong on the outbound 856".
- ▌ Set Feature Flag · orderful bundleRead or set Orderful SuiteApp feature flags in a customer's NetSuite account. The SuiteApp gates opt-in behaviors (e.g., disabling the Sales Order reload+resave on inbound 850 creation, switching to the new invoice line item repository) on a singleton custom record `customrecord_orderful_feature_flags`. Use when the user wants to flip a SuiteApp feature flag without opening NetSuite, or says things like "/set-feature-flag", "set the <flag> feature flag for <customer>", "disable the SO resave for <customer>", "enable the new invoice line item repository for <customer>", "what feature flags are set on <customer>", or "turn on <flag> in <customer> prod".
- ▌ Which Script Ran · orderfulGiven a broken/suspect Orderful transaction in a customer's NetSuite, determine WHICH SuiteApp script did (or should have done) the work and read its execution logs programmatically via SuiteQL — no NetSuite UI log-scrolling. Reconstructs a transaction's full lifecycle across every script with one query. Use when the user says "which script ran", "where are the logs for this", "check the execution log", "why did this 846/856/810 fail", "trace this transaction", "/which-script-ran", or any transaction diagnosis where you'd otherwise open Script Execution Logs in the UI.
- ▌ Bill And Fire 810 · orderful bundleBill one or more Sales Orders to Invoices in NetSuite via the SO→Invoice transform, populate any required Orderful custbody fields, and trigger the outbound 810 by setting `custbody_orderful_ready_to_process_inv = true`. Use when the user is running an end-to-end test cycle for a new customer, says "bill these SOs and fire the 810s", "/bill-and-fire-810", "create test invoices and send them", or "I need to test the 810 mapping for customer X" — the procedural counterpart to `build-mock-fulfillments` (which handles the IF/856 step).
- ▌
- ▌ Dsco Wire Testing · orderfulRun the end-to-end wire-based testing cycle for a customer connecting to a retailer through DSCO/Rithum dropship — from AS2 attachment through test 850s, outbound 856/810, portal scenario completion, and retailer activation. Use when the user says "DSCO testing", "Rithum test orders", "the retailer sent test 850s", "complete the DSCO scenarios", "how does DSCO certification work", "activate the DSCO connection", or is onboarding any customer to a retailer via DSCO/Rithum (Nordstrom, AAFES, Macy's, etc.). Covers what's different about DSCO vs. upload-portal programs, the NetSuite/SuiteApp-side machinery, and the traps (Complete button deletes test data; activation is by email).
- ▌ Fetch Validations · orderful bundleFetch structured per-transaction validation errors from Orderful (`dataPath`, `message`, `allowedValues`) instead of screenshotting the UI. Use when iterating on a partner-spec JSONata fix and a transaction is showing INVALID on Orderful, or when the user says "fetch validations", "what's wrong with that transaction", "/fetch-validations", "give me the errors for <txId>", "why is this 856/810/855 invalid", or asks to debug a partner-spec rejection without manual screenshots.
- ▌ Code Review · orderfulReview a GitHub PR or the current feature branch against the orderful-netsuite-skills rubric. Invoke explicitly; not auto-invoked.
- ▌ Bulk Jsonata Update · orderful bundleApply a controlled JSONata change across every customer-enabled-transaction-type record of a given doc type in a customer's NetSuite. Walks through audit (with per-record backups), plan (textual diff preview), dry-run, deploy (one record at a time with read-back verification), and rollback. Use when the user says "I need to add field X to every 850 customer", "roll out an externalid mapping to all customers", "update all our 856 JSONata to do Y", "audit our existing JSONata", or any other "apply the same JSONata change to many enabled transactions" scenario. Does NOT change the SuiteApp source. Does NOT touch records the user did not approve. Refuses to deploy without an explicit dry-run + plan approval.
- ▌ Writing 860 Jsonata · orderful bundleAuthor and debug inbound JSONata Advanced Mappings for 860 Purchase Order Change Requests in the Orderful NetSuite SuiteApp. Covers the 860 BDO output shape (with a JSON Schema), exactly which fields the change applier reads, how items / Sales Orders / lines are resolved, why `item.netsuiteItemId` / `transactionLineId` / `lineUniqueKey` overrides are ignored on the 860, and verified example expressions (partner item qualifiers the connector doesn't read such as PI/UI, new quantity in POC03, PO-number normalisation, split-order targeting, custom fields). Use when the user says "write JSONata for the 860", "860 advanced mapping", "the 860 fails with lineUniqueKey is required", "Error applying line change for item null", "the change order isn't applying to the sales order", "my 860 JSONata is ignored", or is editing the Advanced Mapping pane on an 860 Enabled Transaction Type.
- ▌ Audit Outbound Rules · orderfulAudit a customer's per-relationship outbound transformation rules at /v2/rules and flag any whitelist that's narrower than the partner's published spec. Run this BEFORE writing JSONata for a new outbound document type — misconfigured rules silently strip required EDI segments at send time, surfacing as "missing field" validation errors that NS-stored messages and /v3/validate both contradict. Use when the user says "audit the rules", "check outbound rules", "the post-fact validations show missing X but the message has it", "before we write outbound JSONata", or any time you're starting outbound work for a customer / partner / doc type that hasn't been validated end-to-end yet.
- ▌ Auto Pack Fulfillment · orderfulRun and debug the Orderful SuiteApp's Auto Pack on an Item Fulfillment (or Sales Order), which splits fulfilled quantity into carton and shipped-item records for the 856 ASN. Covers predicting carton count before packing, the 20-carton Map/Reduce threshold where cartons do not exist when the button returns, unpack semantics, and every Auto Pack error message mapped to its cause. Use when the user says "auto pack this IF", "why did it build N cartons", "Auto Pack failed", "unpack and repack", or is debugging carton counts on an ASN.
- ▌ Customer Kickoff Prep · orderfulGenerate an internal pre-call prep doc (.docx) for an Orderful customer kickoff call. Pulls context from the AE handoff doc, Salesforce, Orderful's network, and the Customer Kick-Off SOP, then synthesizes it into a structured 30-minute call prep doc with agenda, decisions to lock, expected Q&A, exit criteria, and post-call action items. Use this skill whenever an AM is preparing for a kickoff call with a new Orderful customer. Trigger on "build kickoff prep for [customer]", "prep me for [customer] kickoff", "I'm running [customer] through the kickoff SOP", "[customer] kickoff prep doc", "kickoff prep [customer]", "AM prep for [customer]", or any request to produce a pre-call prep document for a new customer onboarding to Orderful. ALWAYS use this skill when the user mentions kickoff prep, kickoff prep doc, or pre-call prep for a customer.
- ▌ Reconcile 860 With So · orderfulReconcile inbound 860 (Purchase Order Change) transactions in Orderful against open Sales Orders in NetSuite. For a list of SO tranids, fetch every 860 the trading partner has sent for the corresponding PO numbers, replay them in chronological order, decode the POC change codes (QI/DI/RS/PC/AI/CA), compare against current SO line state and `custcol_orderful_item_ack_status`, and produce a per-SO action recommendation table with a confidence rating. Use when the user mentions "look at the 860s for these SOs", "reconcile change orders", "action 860s", "cross-reference 860s with sales orders", "did the partner send any change orders", or any historical-EDI reconciliation across cutover.
- ▌ Reprocess Transaction · orderful bundleReprocess a single inbound Orderful Transaction in a NetSuite customer's account by calling the SuiteApp's agent-write RESTlet. Use when a previously-failed (or stale) inbound transaction needs another run through the inbound MapReduce, or the user says things like "/reprocess-transaction", "reprocess <id> for <customer>", "retry transaction <id>", "rerun the inbound MR for <id>", or "reprocess this 850".
- ▌ Sps Recon · orderfulExtract EDI transaction history, partner configurations, and mapping data from a customer's SPS Commerce account to inform Orderful org setup. Use when the user has SPS Commerce credentials for a customer migrating from SPS to Orderful, says "pull SPS data", "recon SPS", "what does their SPS setup look like", or is onboarding a customer who currently uses SPS Commerce.
- ▌
- ▌ Alternative Packing Source · orderfulSet up the Orderful SuiteApp's "Packaging Data Source" feature for a customer whose carton/item data lives in non-standard custom records (Manhattan WMS, BluJay, custom 3PL feeds, etc.) instead of the SuiteApp's native customrecord_orderful_carton. Walks through identifying candidate records, mapping fields to Orderful's required column contract, building a validation CSV from a real Item Fulfillment, authoring the NetSuite Analytics Dataset in the UI, pulling it back via SDF for version control, and setting the customer's Packaging Data Source entity field. Use when the user mentions an alternative packing source, a customer that already has carton records (but not Orderful's), Manhattan/3PL-fed packing data, or asks how to power 856 ASNs from existing carton/SSCC data.
- ▌
- ▌ Inspect Inbound Diagnostics · orderfulRead the Orderful SuiteApp's inbound diagnostic log (customrecord_orderful_diagnostic) to see the mapped Business Data Object (BDO) for an inbound transaction — what the SuiteApp parsed from the EDI and intended to write to NetSuite. Use when an inbound 850/860/etc. processed "Success" but the resulting Sales Order is missing data (ship-to address, location, item match, store/department), when the user says "check the inbound logs", "why is the SO missing X", "inspect the inbound diagnostics", "/inspect-inbound-diagnostics", or when inbound behavior is mysterious and you'd otherwise start guessing.
- ▌ Cleanup Orderful Transactions · orderful bundleDelete failed/duplicate "Orderful Transaction" (customrecord_orderful_transaction) records and their customrecord_orderful_edi_trx_join rows in a customer's NetSuite, keeping the valid (Success) record for each consolidation group — and optionally delete the matching unsent transactions on the Orderful platform. Use after an outbound document was (re)fired several times during debugging and left Error-status duplicates, or when the user says "clean up the failed transactions", "remove the duplicate Orderful Transaction records", "delete the failed OTs for this invoice/order", "clean up the invalid trx and joins", or "/cleanup-orderful-transactions". Dry-run by default; deletes only Error duplicates that have a Success sibling; never deletes the valid record.
- ▌ Dsco Recon · orderfulExtract dropship configuration, retailer connections, and transaction patterns from a customer's DSCO (Rithum) portal to inform Orderful org setup. Use when the user has DSCO/Rithum credentials for a customer doing dropship fulfillment, says "pull DSCO data", "recon DSCO", "what's their DSCO setup", or is onboarding a customer connected to retailers via DSCO/Rithum (formerly CommerceHub).
- ▌ Monitor Mr · orderful bundleWatch an Orderful SuiteApp Map/Reduce run end-to-end via REST — official task status (scheduledscriptinstance), execution logs (scriptnote), and business outputs (Orderful Transaction records) — instead of guessing or telling the user to check the NetSuite UI. Use after triggering the inbound poller, a reprocess, or any MR; or when the user asks "did the poller run", "is the MR done", "why is my transaction still Pending", "watch the MapReduce", "check the script logs", or "/monitor-mr".
- ▌ Run Poller · orderful bundleTrigger Orderful's inbound polling MapReduce in a NetSuite customer's account by calling the SuiteApp's run-poller RESTlet. Use when the user wants to manually pull pending inbound EDI transactions from Orderful into NetSuite without opening NetSuite to run the script deployment, or says things like "/run-poller", "run the poller for <customer>", "trigger inbound polling", "kick off the poller", "pull EDI transactions for <customer>", or "poll Orderful for <customer>".
- ▌ Item Lookup · orderfulDiagnose and propose fixes for ITEM_LOOKUP_MISSING errors on inbound 850 purchase orders. Combines NetSuite item search, Orderful transaction context, and customer-specific matching conventions to propose a single, scoped lookup record for the contractor to approve. Use when the user mentions a failing 850, a missing item lookup, ITEM_LOOKUP_MISSING, or asks to map a partner part number to a NetSuite item.
- ▌ Org Prebuild · orderfulPre-build a customer's Orderful organization using data from SPS/DSCO recon — set up trading partnerships, assign guidelines, configure relationships, and verify readiness before kickoff. Use when the user has completed recon (sps-recon and/or dsco-recon) and wants to configure the customer's Orderful org, says "prebuild the org", "set up Orderful", "configure partnerships", or is preparing for a customer kickoff call.
- ▌ O2c Discovery · orderfulAuto-answer Orderful's O2C Discovery Questionnaire for a NetSuite customer using SuiteQL. Runs a battery of read-only queries to fill out customer setup, item master, pricing, sales-order, fulfillment, and invoicing sections — anything that's derivable from configuration data — and produces a markdown findings file. Flags questions that genuinely require an interview (process narratives, edge-case threshold rules) so the contractor knows what's left. Use when the user is filling out the O2C discovery doc for a new customer, asks to "automate discovery", or wants a baseline of what NetSuite says before talking to stakeholders.
- ▌ Update Skills · orderfulCapture learnings from a NetSuite EDI session as new or updated skills/reference docs in the orderful-netsuite-skills repo via a PR. Use proactively at the end of any productive session — when the user corrected a previous assumption, a working SuiteQL/JSONata pattern was discovered, a manual NetSuite workflow nobody had captured was walked through, or a customer-specific pattern was solved that other contractors will hit. Also use when the user explicitly says "/update-skills", "save this as a skill", "let's capture this", "submit a PR with what we learned", "generate a PR", or "remember this for next time".
- ▌ Netsuite Setup · orderful bundleSet up credentials for an Orderful NetSuite SuiteApp customer. Creates a per-customer `.env` file with NetSuite Token-Based Auth (account ID, consumer key/secret, token ID/secret) and an Orderful API key, then validates both connections work. Use when the user is starting work with a new NetSuite customer, needs to configure access to a customer's NetSuite and Orderful, is onboarding a customer, or says things like "/netsuite-setup", "set up a new customer", "create customer credentials", "onboard <customer>", or "I need access to <customer>'s NetSuite".
- ▌ Enable Customer · orderfulConfigure a NetSuite parent customer (and its subcustomers) for EDI via the Orderful SuiteApp. Audits existing Orderful Enabled Transaction records, N1 ship-to fields on subcustomers, and the parent's "subcustomers represent" setting; cross-references with Orderful partner relationships and historical 850 ship-to IDs; then guides the user through creates/updates to close any gaps. Use when the user says "enable <customer> for EDI", "set up <customer> transactions", "configure <customer> in Orderful", "add <customer> to Orderful", or is bringing a new trading partner online and needs the NetSuite side wired up. Does NOT create customers or subcustomers (the SuiteApp does not create them either — an inbound ship-to that matches no subcustomer falls back to the parent customer). Does NOT delete records.
- ▌ Manage Datasets · orderful bundleAuthor, inspect, test, and save the SuiteAnalytics Datasets the Orderful SuiteApp consumes — Packaging Data Sources for 856 ASNs and carton/pallet label datasets. NetSuite has no REST API for datasets, so this skill drives the SuiteApp's dataset actions on the agent RESTlets through a describe → edit spec → dry-run → save loop, with validation against the SuiteApp's own packaging and label column contracts. Use when the user says "build a label dataset", "the packaging dataset is wrong", "labels aren't generating for <retailer>", "describe the carton dataset", "add <field> to the label dataset", "test the dataset for fulfillment X", or "/manage-datasets".
- ▌ Migrate Dataset · orderful bundleMigrate a NetSuite SuiteAnalytics Dataset from one NS account to another via SDF — the typical sandbox-to-prod move for an Orderful "Packaging Data Source" (carton dataset, pallet dataset, or any Analytics Dataset the SuiteApp consumes via N/dataset at runtime). Walks through SDF project bootstrap, interactive auth setup via an expect-driven flow that only needs the user for the browser OAuth, object:import from source, the workbook-required SDF validation gotcha, customer-ID filter swap, the "file upload error" misleading-failure trap, and the post-deploy REST step to register the dataset on customrecord_orderful_pkg_data_src. Use when the user says "migrate dataset from sandbox to prod", "move the carton dataset to prod", "deploy the SuiteAnalytics dataset via SDF", "/migrate-dataset", or after authoring a dataset in sandbox per the alternative-packing-source flow and needing to promote it.
- ▌ Upload Products · orderful bundleRank a NetSuite customer's most-commonly-sold products and upload them to Orderful's product catalog via the v2 products API, optionally enriching each with unit cost, weight, UPC, and inventory. Use when the user says "upload <customer>'s products to Orderful", "find the top products and add them to the catalog", "sync the product catalog", "populate Orderful products from NetSuite", "/upload-products", "load <customer>'s best sellers into Orderful", or wants a customer's SKUs registered in Orderful so they resolve inside EDI transactions.
- ▌ Adjust Inventory · orderfulCreate a NetSuite Inventory Adjustment to fix a drained-stock problem in a sandbox/dev account — when an item shows 0 (or too little) available quantity at a location and that's blocking a test (a 945/856 fulfillment failing with "You must have at least one valid line item," a sales order that won't commit, etc.). Use when the user says "the item has no stock", "increase on-hand for this SKU", "adjust inventory for `<item>` at `<location>`", "the sandbox is out of stock again", "/adjust-inventory", or when diagnosis of a fulfillment failure traces back to zero available quantity rather than a mapping/code bug.