Reference · built on requestOperator by FibricSales, quotes & revenue

Credit Hold

Gathers balance, aging, and payment history for each order on credit hold and proposes release, partial release, or a customer notice.

About

Credit Hold picks up each order that cannot ship because the customer is blocked. In Business Central that is a customer whose blocked value is Ship or All, with balanceDue against creditLimit and the agedAccountsReceivable buckets. In NetSuite it is the customer and order records read through the REST record service. From Stripe it adds invoices with status open or paid, amount_remaining, due_date, and attempt_count.

It puts the numbers side by side and proposes one of three outcomes: release the order, release part of it, or send the customer a notice about what is owed. Finance approves. The block stays in place and the order stays unshipped until they do.

This is a reference listing. It documents what Fibric would read from Credit Hold and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Business Central customers with blocked set to Ship, Invoice, or All, balanceDue, creditLimit, and paymentTermsId
  • Aging by customer through agedAccountsReceivable: currentAmount, period1Amount, period2Amount, period3Amount, and agedAsOfDate
  • Held sales orders in Business Central with number, orderDate, totalAmountIncludingTax, and each line's shipQuantity; NetSuite orders through the REST record q filter or SuiteQL
  • Stripe invoices for the customer with status, amount_due, amount_paid, amount_remaining, due_date, attempt_count, and next_payment_attempt
  • Stripe subscriptions in past_due or unpaid for the same customer, since a failing card explains a balance
  • Prior notices and promises recorded on the customer, so the same customer is not chased twice for one invoice

Proposed actions

  • Target capability: propose releasing the order by setting the customer's blocked value back to blank through PATCH customer, with the balance shown at decision time
  • Target capability: propose a partial release: the lines and shipQuantity to ship now, the remainder held, for finance to accept or change
  • Target capability: propose a customer notice as a mailbox draft listing the open invoices, due dates, and amount_remaining, for the collector to send
  • Target capability: propose a Slack message to finance through chat.postMessage with the held orders, balances, and aging

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Business Central block with Stripe history

    For customers with blocked Ship or All, read agedAccountsReceivable and the customer's Stripe invoices, and propose release, partial release, or a notice in one card.

    With Microsoft Dynamics 365 Business Central, Stripe

  • NetSuite orders awaiting release

    Filter NetSuite customer and order records for the held set, attach balance and aging, and post the daily list to finance in Slack for approval.

    With NetSuite, Slack

  • Notice drafted in the collector's mailbox

    Draft the customer notice through POST /me/messages in Outlook or users.drafts.create in Gmail with each open invoice, its due_date, and amount_remaining, ready to send.

    With Microsoft Outlook, Gmail API

  • Partial release when only one line is urgent

    Propose shipping the line the customer needs now with its shipQuantity and holding the remainder of the order until payment lands, with finance told in Teams.

    With Microsoft Dynamics 365 Business Central, Microsoft Teams

Requirements

  • An ERP with a customer block and aging by customer: Business Central, or NetSuite through REST record and SuiteQL
  • Payment history from the ERP's own ledger or from Stripe invoices
  • Your release rules: which aging bucket, what balance to limit ratio, and who may approve a partial release
  • A named approver in finance for every release
Authentication
An ERP API user allowed to read customers, aging, and orders and to update the customer block, a Stripe restricted key with invoice read, and a mailbox draft scope for the collector.

Limits

  • It does not take payment, apply cash, or write off anything.
  • A release changes the customer block only. Picking, packing, and shipping still happen in your fulfilment flow.
  • Stripe and ERP balances are shown together, not reconciled. A payment posted in one and not the other appears as a difference to read.
  • It applies your thresholds. It has no credit score of its own.

Access and pricing

Reference listing. Fibric builds the operator under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request Credit Hold ↗

Questions and answers

What does finance approve?
One of three proposals: release, partial release, or notice. Each shows balanceDue, creditLimit, the aging buckets, open invoices with due dates, and payment attempts. Finance accepts, edits the lines in a partial release, or rejects.
Can it release an order on its own?
No. The customer block is changed only after a named approver accepts, and the entry records who did it. Without approval the order stays held.
What record is kept?
Order and customer numbers, the balance, limit, and aging at decision time, the invoices read, the proposal, the decision, who made it, and when. For a release the entry keeps the previous blocked value so the hold can be restored.
Ask about Credit Hold

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.