mcpField
J
jigx-acumatica

jigx-acumatica

github.com/jigx-comDevelopment051 installsUpdated 5w ago
Repository

About jigx-acumatica

An Acumatica-specific integration skill for Jigx developers, used alongside the generic Jigx skill. It guides discovery, data access, synchronization, and verification while emphasizing live-instance evidence and safeguards against unsafe writes.

Key features

  1. 01Acumatica instance and release discovery
  2. 02Guidance for REST and OData access
  3. 03Lookup, selector, and cascade verification
  4. 04Local-first sync and retry patterns
  5. 05File upload and integration checks

Use cases

  1. 01Planning a new Acumatica integration
  2. 02Designing offline or batch data updates
  3. 03Validating lookups before writes
  4. 04Implementing Acumatica file attachments

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/jigx-com/skills --skill jigx-acumatica

After installing, type/jigx-acumaticain Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
acumatica-discovery.md
acumatica-endpoints-and-files.md
acumatica-files-submit.md
acumatica-lookups-expands.md
acumatica-reads-and-sync-contract.md
acumatica-rest.md
acumatica-screen-logic.md
acumatica-selectors-and-cascades.md
acumatica-sync.md
integration-verification.md
recipe-index.md

Details

From the project README

Jigx Acumatica

Use this skill together with the generic jigx skill. Read the generic Jigx references for screen, form, datasource, tab, media, and PDF patterns. Use this skill only for Acumatica-specific integration rules.

Workflow

  1. Read references/recipe-index.md.
  2. For a new integration, read references/acumatica-discovery.md first: find the customer's release from the instance build, pick the channel by job, and keep every session bounded by a logout. SOAP/UI probes are for agent-side discovery and Acumatica configuration only; Jigx mobile cannot execute SOAP calls and must use the discovered screen facts through Generic Inquiries/OData, contract REST, or an explicitly provided server-side bridge.
  3. Before designing anything on a screen, read references/acumatica-screen-logic.md and use jigx-acumatica-kb. Reconcile with the live instance when a connection exists, and treat customer-added and unresolved fields as schema only.
  4. Confirm whether the task is inbound lookup sync, local-first outbound sync, direct submit, file upload, or retry/error handling. For any offline/batch create or update, read references/acumatica-sync.md before designing tables or actions.
  5. Confirm REST versus OData. Prefer REST when possible.
  6. Confirm required $expand values before implementing lookups that need nested data.
  7. Keep Acumatica config casing exact: acumaticaURL and acumaticaOdataURL.
  8. Use accessToken with type/value acuerp; do not hardcode access tokens.
  9. Preserve local-first behavior unless the app explicitly uses direct submit.
  10. For every selector and every write, read references/acumatica-selectors-and-cascades.md and references/integration-verification.md. Resolve runtime-only selectors on the instance, round-trip lookup values through the writable endpoint, and run the hardening gauntlet before calling a write done.
  11. Declare every list read per references/acumatica-reads-and-sync-contract.md: inquiry-backed, delta by a modified field, row identity for join rows, and a required parameter for any read that needs an address or a parent.

Reference Map

  • references/recipe-index.md - when to read each Acumatica reference.

  • references/acumatica-discovery.md - probing an instance, SOAP/UI probe boundaries for Jigx mobile, the three channels by job, release from build, session and licence discipline, reading Acumatica errors.

  • references/acumatica-screen-logic.md - what the screen knowledge base carries, the release rule, reconciling with the live instance, provenance, what it cannot know.

  • references/acumatica-selectors-and-cascades.md - the stored-column contract, owner selectors and ContactID, finding cascades, diagnosing a rejected value, round-trip proof, the hardening gauntlet, value semantics, workflow actions.

  • references/acumatica-reads-and-sync-contract.md - inquiries for lists, creating an inquiry, delta sync, addressed and parent-driven reads, row identity, the row cap.

  • references/acumatica-endpoints-and-files.md - contract REST as fallback, detail collections, creating a missing endpoint, attaching files to a record.

  • references/acumatica-rest.md - REST functions, parameters, payloads, errors.

  • references/acumatica-sync.md - local-first sync, Remote states, command queue, parent-child search/replace, retry.

  • references/acumatica-lookups-expands.md - lookup sync, OData/REST differences, $expand, force sync, dropdown fields.

  • references/acumatica-files-submit.md - file uploads, PDF attachments, service order submit patterns.

  • references/integration-verification.md - test app-populated data through the generated request, authorized live writes and remote readback.

Guardrails

  • Never guess or default the Acumatica release. Derive it from the build or ask; a release the knowledge base does not cover is designed from the live schema, never from a neighbouring release.
  • Never generate Jigx mobile code that executes SOAP, WSDL calls, or Acumatica SOAP sessions. Use SOAP/UI probes to understand and configure Acumatica, then implement the mobile integration with Generic Inquiries/OData, contract REST, files/actions, or an explicitly available server-side bridge.
  • Never sync a large list through the screen API or contract REST. Lists go through a Generic Inquiry.
  • Never leave an Acumatica session open. Login, work, logout, on failure too.
  • Never invent a dropdown's rows, an enum value, or a cascade. Reproduce the row source, harvest enum values from the instance, and prove a cascade with a read.
  • Never ship a lookup that has not round-tripped against the writable endpoint.
  • Never feed a per-user field from a global sync of its table.
  • Never write workflow status as a field; move it with the screen's action.
  • Never treat a rejected selector value as bad data before checking the stored column and the population.
  • Never publish a customization package without naming the environment and getting explicit agreement; validate first, test before production.
  • Never hardcode Acumatica access tokens.
  • Never change acumaticaURL or acumaticaOdataURL casing.
  • Never assume nested fields are present without $expand.
  • Never send Jigx internal fields to Acumatica.
  • Never build queued Acumatica payloads in the screen save action; pass identifiers and build the body from local tables when the queue drains.
  • Never create a separate same-entity queue table for local-first create/update unless the business flow explicitly needs a different table. Use the entity's local table plus Remote: "new" | "dirty" | "remote" as the default.
  • Never lose failed commands. Use command queue retry or explicit error records.
  • Never overwrite local IDs in child records without replacing queued references when the queue still contains temporary IDs.

Comments

Markdown supported