TRIDENT by Marvera

Docs · runbook

Install it, prove it landed, upgrade it, take it out

Written for the administrator who will actually do it. The docs page is the shorter version; this one covers the parts that matter after the first hour, which are upgrades and removal.

build 0.1.0.26 · pre-release

Before you start

Extension
Trident, publisher Marvera
Version
0.1.0.26
Minimum base application
25.0.0.0
Runtime
14.0
Object range
70241000..70241999
Distribution
Per-tenant extension upload. No AppSource listing

Two things to settle before the install window, because both are yours and neither can be fixed from my side.

  1. The tenant allows per-tenant extension uploads, and whoever installs holds the administrator rights Extension Management needs. On a managed tenant that often sits with the partner who administers the environment rather than with finance.
  2. The target is a sandbox first. This is a 0.1.x build. Install it on a sandbox copy, run a real charter through it, and only then have the conversation about production.

Nothing leaves your tenant

Trident makes no outbound network calls. There is no HTTP client anywhere in the source, no sync, no export, and no Marvera-side service for it to talk to. Everything it writes stays where you installed it. Privacy covers the detail.


1 · Upload the extension

Extension Management, then Manage, then Upload Extension. Point it at the .app file sent for your pilot and let the deployment finish before touching anything else.

The deployment status page reports the outcome. If it fails there, nothing was installed and nothing needs undoing. Send me the deployment status detail and your base application version and I will tell you what it means.


2 · Assign permission sets

Four assignable sets ship with Trident. None of them needs SUPER, and the pilot proof exists precisely to show that.

One set per user
SetObjectWho holds it
Trident Admin70241000The person who configures Trident. Everything Ops does, plus setup, payment templates, charter terms templates, pricing setup and the guided setup
Trident Ops70241017The daily job. Charters, schedules, invoices from stages, APA entry and review, reconciliation, statements
Trident Read70241018Look, do not touch. Charters, APA, documents and evidence. No APA journal, no settlement actions
Trident API70241019A service account behind an integration, and nothing else. API guide

Admin includes Ops, so an administrator needs only the one set. Ops and Read are independent of each other; do not give a reviewer both, because Ops is the wider grant and it defeats the point of the read persona. API is in none of the others and none of the others is in it.

These sets grant what Trident needs. They do not grant the standard Business Central permissions a person needs to be a finance user in the first place, so your normal sales and general ledger sets still apply on top.


3 · Assign the role centre

The profile is Trident Finance. Assign it to the operators and reviewers who live in Trident all day. An administrator who only visits to configure things does not need it.


4 · Complete setup

Trident registers a guided setup called Set up Trident Finance, filed under First Invoice. Start there, or open Charter Setup directly. The setup record is a singleton created for you at install, and it cannot be deleted.

Charter Setup fields
FieldNeeded for
Charter No. SeriesAssigning charter numbers. Required before the first charter
Charter Fee Item No. or Charter Revenue Account No.Charter fee invoice lines. One of the two is required
APA Item No. or APA Revenue Account No.APA advance invoice lines and settlement documents. One of the two is required
Default APA %Pre-filled on new charters. Optional
Default Currency CodePre-filled on new charters. Optional
Default Payment Terms CodePre-filled on new charters. Optional

Two rules catch people out, and both are enforced in code rather than left to guesswork.

  • A blocked item is not accepted as a billing product, and neither is a G/L account that is blocked or does not allow direct posting. Trident checks the product is usable, not merely that a value was typed in.
  • Scheduled billing needs at least one active payment template with active lines. Without it, charter billing setup can look complete and schedules still will not generate.

5 · Verify it landed

Four checks, in order. The first three are free. The fourth is the one that proves it works.

  1. Extension Management lists Trident, publisher Marvera, version 0.1.0.26, installed, in every company you intend to use.
  2. Setup Readiness Center runs eleven checks across numbering, charter billing, APA billing, payment templates, payment schedules, pricing setup, APA categories and guided-setup completion. Each row has a status, a detail line and the action that clears it. Blocked means the named thing will fail; a warning means it will work but something you probably wanted is missing.
  3. APA Expense Categories holds the ten seeded rows: Provisions, Fuel, Harbour Fees, Crew Expenses, Entertainment, Maintenance, Transfers, Laundry, Communications, Other. If a company is missing them, install did not run there.
  4. Create one charter, generate its payment schedule, post one invoice from a schedule line, and check it appears under the charter's document links. Shortest path that exercises setup, numbering, billing product and invoice sync together.

Install seeding runs per company. On a multi-company tenant, check each company rather than assuming the first is representative.


Upgrading between builds

Upload the newer .app the same way. Business Central runs Trident's upgrade code once per company. Ten steps exist, each guarded by its own upgrade tag so it runs exactly once and is safe to re-run. Six touch data.

Upgrade steps that change existing rows
StepWhat it does
APA categoriesBackfills category code and description on APA entries that carry only the legacy category
Currency snapshotsFills in missing currency snapshots on APA entries
Evidence statesFlips an entry from Missing to Attached where a receipt attachment already exists
Review historyWrites one baseline review entry per APA entry that is not draft, so review history is not empty for pre-existing entries
Commercial evidence originRe-stamps existing entries whose origin was UI as Upgrade
Cue singletonRemoves blank-key cue rows and re-initialises the singleton

The remaining four set their tag and change nothing; they exist so later builds can hang data work off a known baseline.

Four of these walk every APA entry in the company. On a first install there are none and it is instant. On a pilot company with real history it is proportional to the number of APA entries, which for charter finance is small. It is still an upgrade, so take the backup you would take for any extension upgrade.


Removing it

Uninstall from Extension Management.

Business Central's uninstall dialog decides what happens to the data, not Trident. The dialog offers to delete extension data for all companies: leave it unticked and the Trident tables stay in your tenant untouched, tick it and they go. Trident does not delete anything on your behalf and has no uninstall trigger that touches data.

Your Business Central data is unaffected either way. Trident writes charters, schedules, APA entries and evidence into its own tables and links to standard sales documents and customer ledger entries rather than replacing them. Posted invoices, credit memos and ledger entries are Business Central records and stay exactly as they were.


If something goes wrong

[email protected] for anything with a security dimension, [email protected] for everything else. These save a round trip each:

  • Base application version, and whether it is a sandbox or production.
  • Trident version from Extension Management.
  • The company name, because install and upgrade both run per company.
  • What the Setup Readiness Center says, row by row.
  • The full error text rather than a description of it.

Acknowledgement inside two business days. During a pilot there is no committed resolution time; the licence terms say what that does and does not promise, and known limitations says what is not covered yet.