Antylogic
DemoApp login

399 operational guides

Docs sections
DocsTPV invoicing
Device

Delete a billing details profile

Remove one billing details profile from the current location through the private Antylogic app API or an internal support surface. The reviewed app-native screens do not expose a delete control, so treat this as a support-operated action until a product UI is added.

In this article

Billing details profiles are location-scoped fiscal records used around TPV invoicing. Deleting one removes the profile from the active location; it is not a soft delete.

Use this guide when support or a location administrator needs to remove a known temporary or incorrect profile. Do not describe this as an in-product button: the reviewed frontend only exposes the API helper and data hook, not a visible delete screen.

Before you start

  • You are signed in to the private Antylogic app or API.
  • The active context has `orgId` and `locationId`; in the GB demo, use Harbor Demo Group and Harbor Soho.
  • Your location role includes `customer:manage`. `customer:view` can list or open billing details, but cannot delete them.
  • You know the existing `billing_details` id to remove, and the profile belongs to the active location.
  • For documentation captures, create a temporary Harbor Soho billing details profile and avoid deleting seeded records such as Harbor Soho Demo Ltd.

Instructions

  1. 1.

    Confirm the active location

    Work in the organisation and location that owns the billing details profile. The delete action uses the location from the URL and app context; the request body cannot move the operation to another location.

  2. 2.

    Check deletion permission

    Use an account with `customer:manage` at location scope. An account with only `customer:view` may be able to find the profile, but the delete request is denied.

  3. 3.

    Identify one profile to remove

    Select the exact billing details id for the current location. In the GB demo, use a temporary profile for this action and keep the seeded Harbor Soho Demo Ltd profile available for invoice captures.

  4. 4.

    Submit the delete request

    Run `DELETE /api/app/{orgId}/{locationId}/billing-details/{id}` for exactly one id. The handler accepts the id as the single segment after `billing-details` and does not read a DELETE payload.

  5. 5.

    Verify the refreshed list

    A successful delete returns `204 No Content`. Clients using `useDeleteBillingDetails` refresh the billing details list and remove the deleted detail cache, so the profile should no longer appear for the current location.

Validations and limits

  • `orgId` and `locationId` must be present before the frontend route can be built.
  • The `id` is trimmed and must not be blank.
  • The profile must exist and belong to the same `LocationID` as the active context; missing, unknown or cross-location ids are treated as not found.
  • `customer:manage` is required for deletion. Permission denial returns `error.permission.denied` and is mapped by the API to 401.
  • The handler supports DELETE only on `/billing-details/{id}`. Deleting the collection is not supported, extra subroutes return 404 and unsupported methods return 405.
  • The repository physically deletes the `billing_details` row. If the database rejects the delete because of a relationship or constraint, the API can return 409.
  • The service does not explicitly update linked customers, invoices, TPV settings or invoice snapshots as part of this action.
  • No reviewed app-native screen imports or executes `useDeleteBillingDetails`, so keep the workflow labelled as internal or support-operated.

Expected result

The selected current-location `billing_details` row is deleted with no response payload, and supported clients refresh the list and drop the deleted detail cache. If permissions, location scope or database constraints block the operation, do not document the profile as removed.

Related articles