Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page has tips and examples of EDIFACT syntax and how to map it into FOLIO

Default field mapping profiles are provided for a number of common vendors, listed below. Links to those vendor profiles on Snapshot can be found on Field Mapping profiles: EDIFACT

Table of Contents

Sample syntaxes

Invoice date

Sample

Vendor

FOLIO field mapping syntax

Resulting value (excluding tenant localization)

DTM+137:20191002:102'

(EBSCO)

DTM+137[2]

2019-10-02

DTM<137^20201030^102>

(Hein)

DTM<137[2]

2020-10-30

DTM+137:20201102:102'

(Amalivre)

DTM+137[2]

2020-11-02

Invoice line description

Sample

Vendor

FOLIO field mapping syntax

Resulting value (if taken from invoice data rather than POL)

IMD+L+050+:::ACI MATERIALS JOURNAL - ONLINE   -:MULTI USER'    

(EBSCO)

{POL_title}; else IMD+L+050+[4-5]

ACI MATERIALS JOURNAL - ONLINE: MULTI-USER

IMD+F+050+:::Les Maisons de Mandres'

(Amalivre)

{POL_title}; else IMD+F+050+[4-5]

Les Maisons de Mandres

IMD<F<JTI<^^^USER'S GUIDE TO THE BLUEBOOK>

(Hein)

{POL_title}; else IMD<F<JTI<[4-5]

USER'S GUIDE TO THE BLUEBOOK

IMD++050+:::post-digital times?.'

(Erasmus)

{POL_title}; else IMD++050+[4-5]

post-digital times

PIA+5+9787100178655:IB'

(CNPIEC)

{POL_title}; else PIA+5+?IB[1]

978100178655

Invoice lock total amount

Sample

Vendor

FOLIO field mapping syntax

Resulting value

MOA+9:18929.07'

(EBSCO)

MOA+9[2]

18929.07
MOA+86:1083.08'(GOBI)MOA+86[2]1083.08

MOA<86^458.94>

(Hein)

MOA<86[2]

458.94

MOA+8:56.13:USD:4'

(Amalivre)

MOA+8?4[2]            

56.13
MOA+39:213.85:USD:4'(Harrassowitz)MOA+39?4[2]213.85

Vendor invoice number

Sample

Vendor

FOLIO field mapping syntax

Resulting value

BGM+380:::JINV+0704159+43'

(EBSCO)

BGM+380+[1]

0704159

BGM<380<267908<43>

(Hein)

BGM<380<[1]

267908

BGM+380+649039+9'

(Amalivre)

BGM+380+[1]

649039

BGM+380+583607'

(GOBI)

BGM+380+[1]

583607

BGM+380:::JINV+448603+55'

(Harrassowitz)

BGM+380+[1]

448603


Pricing

EDIFACT invoices can include many types of prices at the invoice level and at the invoice line level. Details for them are available in the EDItEUR documentation. Here is a list of the most common ones:


EDIFACT fieldDescription
MOA+146Line item unit price
MOA+203Line item amount, excluding tax
PRI+AAALine item net amount, excluding tax
PRI+AABLine item gross amount, excluding all adjustments
MOA+79Total of the line item amounts, excluding tax
MOA+9Total amount payable, including any adjustments and tax


Sample

Vendor

FOLIO Field mapping syntax

Resulting value

MOA+9:18929.07'

(EBSCO)

MOA+9[2]

18929.07

MOA<86^458.94>

(Hein)

MOA<86[2]

458.94

MOA+8:56.13:USD:4'

(Amalivre)

MOA+8?4[2]            

56.13

MOA+203:81.42:USD:4'(Harrassowitz)MOA+203?4[2]81.42
MOA+203:28:EUR:4A'(Amalivre)MOA+203?4A[2]28.00


Purchase order line (POL) matching and field mapping

  • An invoice line can be matched to its corresponding purchase order line (POL) via the POL number or any Vendor reference number recorded in the FOLIO POL and the incoming invoice line. Data import will first attempt to match to the POL via the POL referenced in the invoice line.
    • If the invoice line POL matches one Open FOLIO POL, the invoice line is linked, and any data mapped from the POL is added to the FOLIO invoice line.
    • If the invoice line POL 1) does not match any Open FOLIO POL, or 2) matches multiple Open FOLIO POLs, or 3) there is no POL in the invoice line, then the invoice line can attempt to match to a POL via a vendor reference number.
      • If an invoice line vendor reference number matches one Open FOLIO POL, the invoice line is linked, and any data mapped from the POL is added to the FOLIO invoice line. 
      • If an invoice line vendor reference number 1) does not match any Open FOLIO POL, or 2) matches multiple Open FOLIO POLs, or 3) there is no vendor reference number in the invoice line, then the invoice line data will load to FOLIO without a link to a POL
        • When the invoice is manually reviewed, any unlinked invoice lines can be manually linked to corresponding POLs before invoice approval or payment.
  • Note: When manually linking a POL to an invoice line, the POL's PO can be Pending, Open, or Closed. When Data Import automatically links a POL to an invoice line, the POL is only linked if its PO status is Open.
  • Once a POL is linked to an invoice line, libraries may prefer to populate some of the invoice line data from the POL rather than the invoice line. Such data elements might include Description (from the POL Title field), Acquisition units, POL number, Fund, Expense class, and/or Value. The POL number field of the invoice line can only be populated from the POL if the POL is matched to the invoice line via a Vendor reference number. Otherwise, the POL must be mapped from the incoming EDIFACT data or manually entered into the invoice line after import.
  • As of Juniper, a user can link or re-link an invoice line to its corresponding purchase order line. If the library expects to be invoiced again for that purchase order line in the future, it's best to 1) update the POL with whatever vendor reference number the vendor is citing on the invoice line, or to 2) alert the vendor to change that reference number in the vendor's system for future invoices against that POL.
  • EDIFACT invoice field mapping syntax for individual POL fields: These are not case sensitive, so they can be entered in the field mapping profile in upper-case, lower-case, or mixed-case. The value must be enclosed in braces, as shown in this table.


POL Field

Field Mapping Syntax

POL title

{POL_TITLE}

Acquisition units (from the PO)

{PO_ACQUISITION_UNITS}

POL number

{POL_NUMBER}

POL fund id

{POL_FUND_ID}

POL expense class

{POL_EXPENSE_CLASS}

POL value

{POL_VALUE}


Sample POL and Vendor reference number mappings

SampleFOLIO field mapping syntaxResulting value

PIA+1+99985113084:SA'

PIA+1+?SA[1]

99985113084

PIA+5+288357478:SA'

PIA+5+?SA[1]288357478

PIA<5<00008163^SA>'

PIA<5<?SA[1]

00008163

RFF+LI:1150816'

RFF+LI[2]

1150816

RFF+LI:VLI835774AM'

RFF+LI[2]

VLI835774AM

RFF+LI:S174547'

RFF+LI[2]

S174547

RFF+LI:VLI839337YL'

RFF+LI[2]

VLI839337YL

RFF+LI:281990'

RFF+LI[2]

281990

RFF+LI:1032123'

RFF+LI[2]

1032123

RFF+ON:1ABG9102'

RFF+ON[2]

1ABG9102

RFF<ON^1ALC5559>'

RFF<ON[2]

1ALC5559

RFF+SLI:99985428503'

RFF+SLI[2]

99985428503

RFF+SLI:10008-1'RFF+SLI[2]10008-1

RFF+SNA:BR7770675AA000579790'

RFF+SNA[2]

BR7770675AA000579790

RFF+SNA:D1427558'RFF+SNA[2]D1427558

RFF+SNA:60400123'

RFF+SNA[2]

60400123

RFF+SNA:7719687'

RFF+SNA[2]

7719687

RFF+SNA:1AEL3378'

RFF+SNA[2]

1AEL3378

RFF+SNL:1AEL3378'RFF+SNL[2]1AEL3378


Combining mappings

EDIFACT field mappings, POL field mappings, and defaults can be combined for individual fields, to create a cascade of options for the field. The most common example is the invoice line Description field, which is a required field. If the incoming invoice line matches to a purchase order line (POL), usually the library will want the invoice line Description field to be populated with the POL's title field. If the incoming invoice line does not match to a POL, then the library usually will want the invoice line's description to be populated from the incoming EDIFACT data. 

Sample

Vendor

FOLIO field mapping syntax

Resulting value (if invoice line is not matched to POL)

IMD+L+050+:::ACI MATERIALS JOURNAL - ONLINE   -:MULTI USER'    

(EBSCO)

{POL_title}; else IMD+L+050+[4-5]

ACI MATERIALS JOURNAL - ONLINE:MULTI USER 

IMD+F+050+:::Les Maisons de Mandres'

(Amalivre)

{POL_title}; else IMD+F+050+[4-5]

Les Maisons de Mandres

IMD<F<JTI<^^^USER'S GUIDE TO THE BLUEBOOK>

(Hein)

{POL_title}; else IMD<F<JTI<[4-5]

USER'S GUIDE TO THE BLUEBOOK

IMD++050+:::post-digital times?.'

(Erasmus)

{POL_title}; else IMD++050+[4-5]

post-digital times?

PIA+5+9787100178655:IB'

(CNPIEC)

{POL_title}; else PIA+5+?IB[1]

9787100178655



Add info about FOLIO POLs, and storing previous POLs as vendor reference numbers

EDIFACT mapping issues still to be resolved

FieldIssueRelated JiraWorkaround
CurrencyDefault CUX+2 mapping does not work properly
Replace the currency mapping in the field mapping profile with the default currency code from the dropdown list 
Invoice level adjustmentsMapping is not yet working properlyAdd manually after the rest of the invoice has been imported
Invoice line level adjustmentsMapping is not yet working properlyMODDICORE-124Add manually after the rest of the invoice has been imported, or consider mapping the net amount, rather than the gross amount and separate adjustments.
Price qualifiers on a separate line from the amountsMapping pattern needs to be createdMODDICORE-123Add manually after the rest of the invoice has been imported
Subscription start and end datesMapping pattern needs to be created for the more complex PIA+5S/PIA+5E segments
Ask vendor to deliver subscription start/end dates in the simpler DTM+194/DTM+196 segments or IMD+L+085/IMD+L+086 segments instead