Details
-
Story
-
Status: Closed (View Workflow)
-
P3
-
Resolution: Done
-
None
-
-
ACQ Sprint 60
-
3
-
EBSCO - FSE
Description
Overview: The invoice needs a human readable number for the invoice line. This will be known as the FOLIO invoice line number and identifies each line on a given invoice.
Requirements:
Invoice Line Number Format
- This should just be a line number NOT one that includes the invoice number as well
- System Generated
- Should be sequential
- Should not be editable by user
- Must start at 1 and increase by whole numbers
- It will not include the invoice or vendor invoice number
Approach:
- Create a sequence for each invoice and clean it up once we're done with it - much like what's done for po-lines-numbers in mod-orders-storage
- When an invoice is created (POST /invoice-storage/invoices, create a sequence named the UUID of the invoice.
- When GET /invoice-storage/invoice-line-numbers?invoiceId=XYZ is called, get the next value from the sequence associated with the specified invoice ID (UUID)
- When an invoice is closed (PUT /invoice-storage/invoices/<id>, with status == PAID or CANCELLED, delete the sequence associated with the invoice
- When an invoice is being deleted, delete the sequence associated with the invoice
- Reuse the sequence_number schema used by the invoice-number API
Acceptance Criteria:
- The GET /invoice-storage/invoice-line-numbers API is implemented
- The POST /invoice-storage/invoices, PUT /invoice-storage/invoices/<id> and DELETE /invoice-storage/invoices/<id> behavior has been adjusted as described above
- Unit test coverage on new code is at or above 80%
TestRail: Results
Attachments
Issue Links
- blocks
-
MODINVOICE-21 Implement POST /invoicing/invoice-lines
-
- Closed
-
- has to be done before
-
MODINVOSTO-4 Implement Basic CRUD APIs for invoice-lines
-
- Closed
-
- is blocked by
-
MODINVOSTO-2 Define APIs
-
- Closed
-
- relates to
-
MODINVOSTO-6 Implement invoice-number API
-
- Closed
-
-
MODORDSTOR-45 Build API for PO line numbers
-
- Closed
-
-
UXPROD-720 Allow user to create Invoice
-
- Closed
-