Koha EDIfact module - PTFS Europe Perl dependencies ----- Edifact::Interchange Business::ISBN Net::FTP Net::FTP::File Setup and testing ----- 1. Allocate permissions to a staff user Find a staff user and click the Details tab. Select More > Set permissions Expand the Tools options, then check '(edi_manage) Manage EDIFACT transmissions', then click the Set flags button This user should now be able to see an EDIfact messages option in Tools > Additional Tools 2. Set default values for testing the included quote message Add two test branches with the branchcodes 'BRANCH1' and 'BRANCH2' Add two funds with the fundcodes 'FUND1' and 'FUND2' Add three itemtypes with the codes 'BKREF', 'BK1WK', and 'BK4WK' Add three authorised values in the LOC category - 'REFERENCE', 'STORE', and 'SHELVES' 3. Add the test bookseller and EDIfact account details Create a new bookseller with the name 'PTFS-Europe' Go to Administration > Additional Parameters > EDI Accounts Add a new account: Vendor: PTFS-Europe Description: Test EDI FTP account Server hostname: Server username: Server password: Server remote directory: Vendor SAN/EAN: 5011234567890 Click save (these details can be edited or removed using the options in Administration > Additional Parameters > EDI Accounts) Upload the supplied quotes file to the Server remote directory on your FTP server (supplied quotes file is in misc/edi_files/ptfs-europe-koha-community.CEQ) 4. Add EANs to your local ordering branches Go to Administration > Additional Parameters > EDI EANs Add new EANs: Branch: BRANCH1 EAN: 5099876543210 Branch: BRANCH2 EAN: 5099876543211 (these details can be edited or removed using the options in Administration > Additional Parameters > EDI EANs) 5. Import the quote file from the Vendor FTP account Before running the import, ensure that the user running the web server has read/write access to misc/edi_files and the files in it (drw-rw-r-- koha www-data) On the command line cd to misc/cronjobs and run 'perl edi_quote_cron.pl' (ordinarily this would be automated at intervals using the cron) The remote file will be renamed following EDI convention with a .EEQ extension. You can also move the file to another directory (see later details) The last activity date will be updated in the vendor EDI account FTP transactions are logged in misc/edi_files/edi_ftp.logged Any errors in processing the quote will be logged in edi_quote_error.log Downloaded EDI messages are stored in misc/edi_files and also in the edi_messages MySQL table 6. View the EDI message Go to Tools > EDIfact messages Messages are listed in date order descending. You should have a QUOTES type message with a status of processed, and a link to the basket holding the order Click View basket Three items should be in the basket, linked to the correct funds, branches, etc. that you specified earlier When the quote message is imported, existing bib records are checked for a match on ISBN. If a match is found, items are attached to that bib record. If no matches are found, a bib record is created using the detail from the quote message and items are attached to them. The name of the created basket is the same as the originating quote message filename 7. Sending an order message back to the vendor Click the EDIfact order button (this is only shown for vendors with an associated EDI account) If you only have more than one branch with an EAN, you will be prompted to select an ordering branch. If only one branch has an EAN, this is used by default and this step is skipped. The EDI order message is generated and delivered to the vendor FTP site. Filenames take the format 'ediorder_xxx.CEP' (where xxx is the basket number) The edi_messages table is updated with an entry for your edi order message with a status of sent, transactions are logged to misc/edi_files/edi_ftp.log, and the last activity date is updated for the vendor edi account. 8. Sending an order message without a quote Any vendor that has an edi account can accept order messages without a quote. When you have created a basket from scratch, follow the instructions in step 7 to send the order message.