Πρότυπα ανταλλαγής επιχειρηματικών εγγράφων

Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr

Εισαγωγή

Παραδοσιακά, η πλέον αποτελεσματική μέθοδος επικοινωνίας μιας επιχείρησης με μία άλλη (Β2Β) στο χώρο του eCommerce (ηλεκτρονικού εμπορίου) ήταν η ηλεκτρονική ανταλλαγή δεδομένων (Electronic Data Interchange). Η μέθοδος αυτή άρχισε να εφαρμόζεται από το 1970 και σήμερα καλύπτει τις ανάγκες του 95% των μεγάλων επιχειρήσεων (Fortune 500), επιτρέποντας την ανταλλαγή σχετικά απλών εγγράφων όπως είναι οι παραγγελίες, τα τιμολόγια και οι ειδοποιήσεις. Όμως, το EDI τελικά δεν είχε την αναμενόμενη απήχηση (εν μέρει λόγω του υψηλού κόστους υλοποίησης) και στην πραγματικότητα έχει υιοθετηθεί από λιγότερο του 5%, του συνόλου των επιχειρήσεων. Επίσης, πολλές φορές τα πρότυπα όπως το EDIFACT και Ansi EDI (ΗΠΑ) στην πράξη προσαρμόστηκαν στις ανάγκες των εκάστοτε εταιριών, με αποτέλεσμα τα μηνύματα των εταιριών αυτών τελικά να μην είναι συμβατά μεταξύ τους. Έτσι, το πρότυπο EDI της FORD είναι διαφορετικό από το πρότυπο EDI της General Motors και το πρότυπο της Tesco είναι διαφορετικό από εκείνο της Marks and Spencer. Η έλλειψη ενός καθολικού προτύπου εμποδίζει την ανάπτυξη πακέτων λογισμικού που θα μπορούσαν να χρησιμοποιηθούν από οποιαδήποτε επιχείρηση, με αποτέλεσμα η υλοποίηση των συστημάτων EDI να γίνεται επί παραγγελία, καθιστώντας την λύση αυτή απαγορευτική για τις περισσότερες μικρομεσαίες επιχειρήσεις.

Το πρότυπο UN/EDIFACT

Το UN / EDIFACT είναι το πιο διαδεδομένο πρότυπο ανταλλαγής ηλεκτρονικών εγγράφων. Χρησιμοποιείται από το 1970 και απευθύνεται κυρίως σε μεγάλες επιχειρήσεις. Είναι μια τεράστια συλλογή επιχειρηματικών εγγράφων.

Τα κύρια χαρακτηριστικά του είναι: Προβλήματα που παρουσίαζει:

Τα νέα πρότυπα ανταλλαγής επιχειρηματικών εγγράφων

Σημαντική διαφορά είναι ότι τα νέα πρότυπα διαχωρίζουν διεργασίες από τα έγγραφα.

Διαδικασίες

Στον μοντέρνο επιχειρηματικό κόσμο προέκυψε η ανάγκη να γίνει πιο σύνθετη η μέθοδος ανταλλαγής εγγράφων. Ως αποτέλεσμα αυτού είχαμε την διείσδυση των επιχειρηματιών διαδικασιών ως μέρη των προτύπων ηλεκτρονικών εγγράφων.

Με την χρήση διαδικασιών έχουμε ως στόχο να καθορίσουμε:

Παράδειγμα εγγράφου ορισμού διαδικασίας ebXML

        <ProcessSpecification name="Simple" version="1.1" uuid="[1234-5678-901234]">
        <!-- Business Documents -->
        <BusinessDocument name="Catalog Request"/>
        <BusinessDocument name="Catalog"/>
        <BusinessDocument name="Purchase Order"/>
        <BusinessDocument name="PO Acknowledgement"/>
        <BusinessDocument name="Credit Request"/>
        <BusinessDocument name="Credit Confirm"/>
        <BusinessDocument name="ASN"/>
        <BusinessDocument name="CreditAdvice"/>
        <BusinessDocument name="DebitAdvice"/>
        <BusinessDocument name="Invoice"/>
        <BusinessDocument name="Payment"/>
        <BusinessDocument name="Inventory Report Request"/>
        <BusinessDocument name="Inventory Report"/>
        <BusinessDocument name="Inventory Report"/>
        <Package name="Ordering">
                <!-- First the overall MultiParty Collaboration -->
                <MultiPartyCollaboration name="DropShip">
                        <BusinessPartnerRole name="Customer">
                                <Performs initiatingRole="requestor"/>
                                <Performs initiatingRole="buyer"/>
                                <Transition fromBusinessState="Catalog Request" toBusinessState="Create Order"/>
                        </BusinessPartnerRole>
                        <BusinessPartnerRole name="Retailer">
                                <Performs respondingRole="provider"/>
                                <Performs respondingRole="seller"/>
                                <Performs initiatingRole="Creditor"/>
                                <Performs initiatingRole="buyer"/>
                                <Performs initiatingRole="Payee"/>
                                <Performs respondingRole="Payor"/>
                                <Performs initiatingRole="requestor"/>
                                <Transition fromBusinessState="Create Order" toBusinessState="Check Credit"/>
                                <Transition fromBusinessState="Check Credit" toBusinessState="Create Order"/>
                        </BusinessPartnerRole>
                        <BusinessPartnerRole name="DropShip Vendor">
                                <Performs respondingRole="seller"/>
                                <Performs initiatingRole="payee"/>
                                <Performs respondingRole="provider"/>
                        </BusinessPartnerRole>
                        <BusinessPartnerRole name="Credit Authority">
                                <Performs respondingRole="credit service"/>
                                <Performs respondingRole="payor"/>
                        </BusinessPartnerRole>
                </MultiPartyCollaboration>
                <!-- Now the Binary Collaborations -->
                <BinaryCollaboration name="Request Catalog">
                        <InitiatingRole name="requestor"/>
                        <RespondingRole name="provider"/>
                        <BusinessTransactionActivity name="Catalog Request" businessTransaction="Catalog Request" fromAuthorizedRole="requestor" toAuthorizedRole="provider"/>
                </BinaryCollaboration>
                <BinaryCollaboration name="Firm Order" timeToPerform="P2D">
                        <Documentation>timeToPerform = Period: 2 days from start of transaction</Documentation>
                        <InitiatingRole name="buyer"/>
                        <RespondingRole name="seller"/>
                        <BusinessTransactionActivity name="Create Order" businessTransaction="Create Order" fromAuthorizedRole="buyer" toAuthorizedRole="seller"/>
                </BinaryCollaboration>
                <BinaryCollaboration name="Product Fulfillment" timeToPerform="P5D">
                        <Documentation>timeToPerform = Period: 5 days from start of transaction</Documentation>
                        <InitiatingRole name="buyer"/>
                        <RespondingRole name="seller"/>
                        <BusinessTransactionActivity name="Create Order" businessTransaction="Create Order" fromAuthorizedRole="buyer" toAuthorizedRole="seller"/>
                        <BusinessTransactionActivity name="Notify shipment" businessTransaction="Notify of advance shipment" fromAuthorizedRole="buyer" toAuthorizedRole="seller"/>
                        <Start toBusinessState="Create Order"/>
                        <Transition fromBusinessState="Create Order" toBusinessState="Notify shipment"/>
                        <Success fromBusinessState="Notify shipment" conditionGuard="Success"/>
                        <Failure fromBusinessState="Notify shipment" conditionGuard="BusinessFailure"/>
                </BinaryCollaboration>
                <BinaryCollaboration name="Inventory Status">
                        <InitiatingRole name="requestor"/>
                        <RespondingRole name="provider"/>
                        <BusinessTransactionActivity name="Inventory Report Request" businessTransaction="Inventory Report Request" fromAuthorizedRole="requestor" toAuthorizedRole="provider"/>
                        <BusinessTransactionActivity name="Inventory Report" businessTransaction="Inventory Report" fromAuthorizedRole="provider" toAuthorizedRole="requestor"/>
                </BinaryCollaboration>
                <BinaryCollaboration name="Credit Inquiry">
                        <InitiatingRole name="creditor"/>
                        <RespondingRole name="credit service"/>
                        <BusinessTransactionActivity name="Check Credit" businessTransaction="Check Credit" fromAuthorizedRole="creditor" toAuthorizedRole="credit service"/>
                </BinaryCollaboration>
                <BinaryCollaboration name="Credit Payment">
                        <InitiatingRole name="payee"/>
                        <RespondingRole name="payor"/>
                        <BusinessTransactionActivity name="Process Credit Payment" businessTransaction="Process Credit Payment" fromAuthorizedRole="payee" toAuthorizedRole="payor"/>
                </BinaryCollaboration>
                <!-- A compound BinaryCollaboration for illustration purposes-->
                <BinaryCollaboration name="Credit Charge">
                        <InitiatingRole name="charger"/>
                        <RespondingRole name="credit service"/>
                        <CollaborationActivity name="Credit Inquiry" binaryCollaboration="Credit Inquiry" fromAuthorizedRole="charger" toAuthorizedRole="credit service"/>
                        <CollaborationActivity name="Credit Payment" binaryCollaboration="Credit Payment" fromAuthorizedRole="charger" toAuthorizedRole="payor"/>
                        <Transition fromBusinessState="Credit Inquiry" toBusinessState="Credit Payment"/>
                </BinaryCollaboration>
                <BinaryCollaboration name="Fulfillment Payment">
                        <InitiatingRole name="payee"/>
                        <RespondingRole name="payor"/>
                        <BusinessTransactionActivity name="Process Payment" businessTransaction="Process Payment" fromAuthorizedRole="payee" toAuthorizedRole="payor"/>
                </BinaryCollaboration>
                <!-- Here are all the Business Transactions needed -->
                <BusinessTransaction name="Catalog Request">
                        <RequestingBusinessActivity name="">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="Catalog Request"/>
                        </RequestingBusinessActivity>
                        <RespondingBusinessActivity name="">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="Catalog"/>
                        </RespondingBusinessActivity>
                </BusinessTransaction>
                <BusinessTransaction name="Create Order">
                        <RequestingBusinessActivity name="" isNonRepudiationRequired="true" timeToAcknowledgeReceipt="P2D" timeToAcknowledgeAcceptance="P3D">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="Purchase Order"/>
                        </RequestingBusinessActivity>
                        <RespondingBusinessActivity name="" isNonRepudiationRequired="true" timeToAcknowledgeReceipt="P5D">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="PO Acknowledgement"/>
                        </RespondingBusinessActivity>
                </BusinessTransaction>
                <BusinessTransaction name="Check Credit ">
                        <RequestingBusinessActivity name="">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="Credit Request"/>
                        </RequestingBusinessActivity>
                        <RespondingBusinessActivity name="">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="Credit Confirm"/>
                        </RespondingBusinessActivity>
                </BusinessTransaction>
                <BusinessTransaction name="Notify of advance shipment">
                        <RequestingBusinessActivity name="">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="ASN"/>
                        </RequestingBusinessActivity>
                        <RespondingBusinessActivity name="" timeToAcknowledgeReceipt="P2D"/>
                </BusinessTransaction>
                <BusinessTransaction name="Process Credit Payment">
                        <RequestingBusinessActivity name="">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="CreditAdvice"/>
                        </RequestingBusinessActivity>
                        <RespondingBusinessActivity name="">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="DebitAdvice"/>
                        </RespondingBusinessActivity>
                </BusinessTransaction>
                <BusinessTransaction name="Process Payment">
                        <RequestingBusinessActivity name="">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="Invoice"/>
                        </RequestingBusinessActivity>
                        <RespondingBusinessActivity name="">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="Payment"/>
                        </RespondingBusinessActivity>
                </BusinessTransaction>
                <BusinessTransaction name="Request Inventory Report">
                        <RequestingBusinessActivity name="">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="Inventory Report Request"/>
                        </RequestingBusinessActivity>
                        <RespondingBusinessActivity name="">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="Inventory Report"/>
                        </RespondingBusinessActivity>
                </BusinessTransaction>
                <BusinessTransaction name="Inventory Report">
                        <RequestingBusinessActivity name="">
                                <DocumentEnvelope isPositiveResponse="true" businessDocument="Inventory Report"/>
                        </RequestingBusinessActivity>
                        <RespondingBusinessActivity name=""/>
                </BusinessTransaction>
        </Package>
        </ProcessSpecification> 

Έγγραφα

Τα ηλεκτρονικά έγγραφα περιέχουν την δομή της επιχειρηματικής πληροφορία. Κάθε έγγραφο συνήθως αποτελείται από δύο διακριτά μέρη: (1) την επικεφαλίδα, η οποία περιέχει στοιχεία για το σύστημα και την διεργασία και (2) τα επιχειρηματικά δεδομένα.

Στα σύγχρονα πρότυπα τα πρότυπα χρησιμοποιούν XML για την αναπαράσταση των δεδομένων, ενώ η πιστοποίηση και η περιγραφή της δομής γίνεται με την χρήση DTD ή X-Schema.

Παράδειγμα εγγράφου xCBL (Τιμολόγιο)

                <Invoice>
                        <InvoiceHeader>
                                <InvoiceNumber>Invoice/InvoiceHeader/InvoiceNumber</InvoiceNumber>
                                <InvoiceIssueDate>2003-01-01T00:00:01</InvoiceIssueDate>
                                <InvoicePurpose>
                                        <InvoicePurposeCoded>Original</InvoicePurposeCoded>
                                </InvoicePurpose>
                                <InvoiceType>
                                        <InvoiceTypeCoded>MeteredServicesInvoice</InvoiceTypeCoded>
                                </InvoiceType>
                        </InvoiceHeader>
                        <InvoiceDetail>
                                <ListOfInvoiceItemDetail>
                                        <InvoiceItemDetail>
                                                <InvoiceBaseItemDetail>
                                                        <LineItemNum>
                                                                <core:BuyerLineItemNum>1001</core:BuyerLineItemNum>
                                                        </LineItemNum>
                                                        <InvoicedQuantity>
                                                                <core:QuantityValue>1002</core:QuantityValue>
                                                                <core:UnitOfMeasurement>
                                                                        <core:UOMCoded>1</core:UOMCoded>
                                                                </core:UnitOfMeasurement>
                                                        </InvoicedQuantity>
                                                </InvoiceBaseItemDetail>
                                                <InvoicePricingDetail>
                                                        <core:ListOfPrice>
                                                                <core:Price>
                                                                        <core:UnitPrice>
                                                                                <core:UnitPriceValue>1003</core:UnitPriceValue>
                                                                        </core:UnitPrice>
                                                                </core:Price>
                                                        </core:ListOfPrice>
                                                </InvoicePricingDetail>
                                        </InvoiceItemDetail>
                                </ListOfInvoiceItemDetail>
                        </InvoiceDetail>
                </Invoice>

Το πρότυπο UN/CEFACT

Το UN / CEFACT αποτελεί απόγονο του UN / EDIFACT. Είναι ουσιαστικά η μετατροπή των παραδοσιακών EDI μηνυμάτων σε αντίστοιχα XML.

Τα βασικά του χαρακτηριστικά είναι: Το πρότυπο είναι ακόμα υπό ανάπτυξη και δεν υπάρχουν διαθέσιμε έγγραφα δημοσιευμένα.

Η πρωτοβουλία ebXML

Το πρότυπο ebXML ορίζει ένα σύνολο από προδιαγραφές οι οποίες επιτρέπουν σε επιχειρήσεις ανεξάρτητα από το μέγεθος τους και την γεωγραφική τους τοποθεσία, να πραγματοποιούν συναλλαγές μέσω διαδικτύου.

Χαρακτηριστικά του ebXML:

Η πρωτοβουλία xCBL

το πρότυπο xCBL αναπτύχθηκε απο μια συνεργασία των εταιριών Microsoft, SAP και Commerce One ως μια βασική συλλογή ηλεκτρονικών εγγράφων για χρήση στο e-Business.

Χαρακτηριστικά του xCBL:

Περιοχές χρήσης xCBL

Η πρωτοβουλία RosettaNet

το πρότυπο RossetaNet αποτελεί μια προσπάθεια καθορισμού μεθόδου ανταλλαγής ηλεκτρονικών εγγράφων στο χώρο του e-Business. Είναι αρκετά διαδεδομένο και έχει την υποστήριξη 500 και πλέον οργανισμών και επιχειρήσεων.

Βασικά Χαρακτηριστικά του προτύπου είναι:

Η πρωτοβουλία BASDA (ebis-XML)

Το ebis-XML είναι ένα πρότυπο του οργανισμού BASDA (Business and Accountancy Software Developers Association) για ανταλλαγή δεδομένων σε εφαρμογές e-Business. Επιτρέπει την άμεση ανταλλαγή των παρακάτω εγγράφων: Βασικά χαρακτηριστικά του προτύπου:

Η πρωτοβουλία XBRL

Το πρότυπο XBRL (eXtensive Business Reporting Language) αποτελεί μια προσπάθεια δημιουργίας ενός προτύπου που θα χρησιμοποιείται για την δημιουργία, ανταλλαγή και σύγκριση εταιρικών δεδομένων. Αυτά μπορεί να είναι οικονομικά μεγέθη, στατιστικά στοιχεία κτλ.

Το πρότυπο αυτό είναι εξέλιξη του προτύπου XFRML (eXtensive Financial Reporting Markup Language) που δημιουργήθηκε το 2000.

Τα κύρια χαρακτηριστικά του είναι:

Σύγκριση

Κριτήρια σύγκρισης

Αποτελέσματα σύγκρισης

Το έργο PRAXIS

Το έργο "PRAXIS: Διασύνδεση εφαρμογών και διενέργεια Δια-επιχειρησιακών δοσοληψιών μέσω διαδικτύου" αποτελεί μια προσπάθεια έρευνας και πιλοτικής εφαρμογής μεθοδολογιών, υποδομών και διατάξεων που θα επιτρέπουν στην τυπική - συνήθως μικρή και μεσαία - Ελληνική επιχείρηση να διενεργήσει ένα σύνολο BUsiness-to-Business Λειτουργιών.

Οι συναλλασόμενοι φορείς μπορεί να είναι: Κύρια χρακτηριστικά του συστήματος είναι: Η αρχιτεκτονική του συστήματος απεικονίζεται στο παρακάτω σχήμα:

Παραπομπές