Uploaded image for project: 'data-import-processing-core'
  1. data-import-processing-core
  2. MODDICORE-123

Create EDIFACT mapping for qualifiers in separate lines from their values

    XMLWordPrintable

    Details

    • Template:
    • Story Points:
      8
    • Development Team:
      Folijet

      Description

      Purpose: Some EDIFACT invoices may contain multiple adjustments at the invoice or invoice line level, In that case, the qualifier may be in the field above the amount, rather than in the same field. Field mapping profiles must include syntax for such qualifiers as this.

      Current workaround: Mainly affects adjustments. Add the adjustment data manually after the rest of the invoice is created via import

      Example from EDI:
      ALC+C++++G74::28 (G74 = Service charge)
      MOA+8:6.54
      ALC+C++++E51::28 (E51 = Postage/shipping)
      MOA+8:117.52

      As a staff person importing EDIFACT invoices
      I want to be able to multiple types of charges and allowances at the Invoice and Invoice line level
      So that I can load the data properly

      Scenarios

      1. Scenario 1
        • Given the EDIFACT invoice
        • When multiple allowances or charges are found at the invoice level (either at the top or bottom of the EDIFACT invoice)
        • Then map them as separate adjustments in ways that allow the various amounts and adjustment types to be associated with each other
      2. Scenario 2
        • Given the EDIFACT invoice
        • When multiple allowances or charges are found at the invoice line level
        • Then map them as separate adjustments in ways that allow the various amounts and adjustment types to be associated with each other
      3. Scenario 3
        • Ensure this story passes Accessibility testing
      4. Scenario 4
        • Ensure automated testing coverage for this new code is 80% plus and confirm with screenshot

      See attached files:

      • 20201205072029.TAMU-SER-PRINT.edi has multiple invoice level adjustments
      • 32500720201214.edi has invoice line level Tax or Invoice level tax, and Invoice level shipping
      • 32500720201214.edi.docx shows the difference at the bottom of the invoice

      Caused by: java.lang.IllegalArgumentException: The specified mapping expression 'amount' is invalid
      at org.folio.processing.mapping.mapper.reader.record.edifact.EdifactRecordReader.readSingleFieldValue(EdifactRecordReader.java:292) ~[mod-invoice-fat.jar:?]
      at org.folio.processing.mapping.mapper.reader.record.edifact.EdifactRecordReader.read(EdifactRecordReader.java:201) ~[mod-invoice-fat.jar:?]
      at org.folio.processing.mapping.mapper.reader.record.edifact.EdifactRecordReader.readRepeatableFieldValue(EdifactRecordReader.java:264) ~[mod-invoice-fat.jar:?]
      at org.folio.processing.mapping.mapper.reader.record.edifact.EdifactRecordReader.read(EdifactRecordReader.java:205) ~[mod-invoice-fat.jar:?]
      at org.folio.processing.mapping.mapper.reader.record.edifact.EdifactRecordReader.read(EdifactRecordReader.java:194) ~[mod-invoice-fat.jar:?]
      at org.folio.processing.mapping.mapper.Mapper.map(Mapper.java:42) ~[mod-invoice-fat.jar:?]
      at org.folio.processing.mapping.MappingManager.map(MappingManager.java:61) ~[mod-invoice-fat.jar:?]
      at org.folio.dataimport.handlers.actions.CreateInvoiceEventHandler.lambda$handle$2(CreateInvoiceEventHandler.java:100) ~[mod-invoice-fat.jar:?]
      at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?]
      ... 38 more

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              abreaux Ann-Marie Breaux
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated: