Skip to main content

Troubleshooting Asset Return

Summary

This page covers return problems. A return is valid only from the Issued state; the aggregate guards this, so returning a non-Issued asset is rejected. Returned is not the same as Available; there is no automatic transition from Returned to Available. Condition can be captured on return. Importantly, the asset tab in the portal has no dedicated return control, so a return is exercised through the native or compatibility API rather than the HrOperations asset tab.

Audience

Support engineers and developers investigating a rejected return, an asset that stayed Returned instead of becoming Available, or the absence of a return button in the portal.

Symptoms

  • A return is rejected because the asset is not Issued.
  • An asset shows Returned but is not appearing as Available.
  • A user cannot find a return control on the asset tab.
  • A returned asset's condition was not recorded as expected.

Cause

Scope

This page covers the return transition guard, the Returned-versus-Available distinction, and the absence of a portal return control.

Likely causes

  • The asset was not in the Issued state, so the aggregate guard rejected the return.
  • The user expected Returned to become Available automatically; no such transition exists.
  • The return was attempted from the asset tab, which has no return control, so it was never issued through the API.
  • Condition capture was omitted on the request.

Resolution

Safe diagnostics

  • Confirm the asset is Issued before expecting a return to succeed.
  • Treat Returned and Available as distinct states; do not expect an automatic move from one to the other.
  • Confirm the return was submitted through the native or compatibility API, not the asset tab.
  • Confirm whether condition was included on the request when condition capture was expected.

Validation

  • Confirm the status is Returned after a successful return from Issued.
  • Confirm an AssetReturned row is present in the outbox diagnostics.
  • Confirm any expected Available transition was performed explicitly rather than assumed.

Evidence to Collect

  • The asset status before the return attempt.
  • Which path was used to attempt the return.
  • Whether condition was captured.
  • A correlation identifier and timestamp.

Escalation

Route return-state logic to the asset or backend team. Route the missing portal return control to the frontend team as an interface gap.

Source References

  • microservices/src/asset-service/Domain/Asset/Asset.cs
  • microservices/src/asset-service/Api/AssetEndpoints.cs
  • UI/salary-ui/apps/client-hrms-portal/src/pages/hr/HrOperationsPage.tsx

See Also

Keywords

return, issued, returned, available, condition

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-17
  • Review cycle: Quarterly