Skip to main content

POS

Sequence create invoice

POS Application Features

The POS application allows users to create invoices based on sales transaction data and predefined templates. After the user selects a template and inputs the necessary information, the application sends the invoice creation request to the Koffi REST API server for validation and further processing.

Invoice Processing Workflow

1. Fetching Templates:

  • The POS application retrieves a list of available templates from the Koffi REST API server.
  • The user selects one of the templates to create an invoice.

2. Creating the Invoice:

  • The selected template is used to generate the invoice.
  • The invoice data is sent to Koffi REST API for validation through the Validate request process.

3. Request Validation:

  • If the invoice request is invalid, the Koffi REST API returns validation errors to the POS system.
  • If the request is valid, Koffi enqueues the invoice request for further processing and returns a tracking request ID along with the status NEW.

4. Polling for Invoice Status:

  • The POS application periodically polls the Koffi REST API using the tracking request ID to check the invoice processing status.
  • The invoice status can either be SUCCESS or FAILED.

5. Handling Success and Failure:

  • Success: If the invoice status is SUCCESS, the Koffi REST API returns the processed invoice data to the POS system.
  • Failure: If the invoice status is FAILED, the Koffi REST API returns processing errors.

6. Further API Calls:

  • If necessary, additional API calls can be made using the invoice ID to retrieve more information or interact with the processed invoice.

Asynchronous Processing System

  • Koffi REST API: An external service responsible for validating invoice data and enqueuing valid requests into a queue system for further processing.
  • Queue System: Ensures that invoices are processed in the order they are received, enabling efficient tracking of the process and scalability.

Error Handling

The system handles errors during invoice creation and processing. If any validation or processing errors occur, the Koffi REST API returns detailed error messages, which are displayed to the user.