Skip to content

Commit

Permalink
README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ruff committed Dec 25, 2022
1 parent 190608f commit d1f5b73
Show file tree
Hide file tree
Showing 2 changed files with 191 additions and 3 deletions.
193 changes: 191 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,195 @@ There is one recommended way to install `horstoeko/orderx` via [Composer](https:

For detailed eplanation you may have a look in the `examples` and the `doc` folder of this package.

## Note
### Reading a xml file

The code in this project is provided under the [MIT](https://opensource.org/licenses/MIT) license.
```php
use horstoeko\orderx\OrderDocumentReader;

$document = OrderDocumentReader::readAndGuessFromFile(dirname(__FILE__) . "/order-x.xml");

$document->getDocumentInformation(
$documentNo,
$documentTypeCode,
$documentDate,
$documentCurrency,
$documentName,
$documentLanguageId,
$documentEffectiveSpecifiedPeriod,
$documentPurposeCode,
$documentRequestedResponseTypeCode)

echo "The Order No. is {$documentno}" . PHP_EOL;
```

### Reading a pdf file with xml attachment

```php
use horstoeko\orderx\OrderDocumentPdfReader;

$document = OrderDocumentPdfReader::readAndGuessFromFile(dirname(__FILE__) . "/order-x.pdf");

$document->getDocumentInformation(
$documentNo,
$documentTypeCode,
$documentDate,
$documentCurrency,
$documentName,
$documentLanguageId,
$documentEffectiveSpecifiedPeriod,
$documentPurposeCode,
$documentRequestedResponseTypeCode)

echo "The Order No. is {$documentno}" . PHP_EOL;
```

### Writing a xml file

```php
use horstoeko\orderx\OrderProfiles;
use horstoeko\orderx\OrderDocumentBuilder;

$document = OrderDocumentBuilder::CreateNew(OrderProfiles::PROFILE_EXTENDED);
$document
->setIsDocumentCopy(false)
->setIsTestDocument(false)
->setDocumentBusinessProcessSpecifiedDocumentContextParameter("A1")

->setDocumentInformation("PO123456789", "220", new \DateTime(), "EUR", "Doc Name", null, new \DateTime(), "9", "AC")
->addDocumentNote("Content of Note", "AAI", "AAI")
->setDocumentBuyerReference("BUYER_REF_BU123")

->setDocumentSeller("SELLER_NAME", "SUPPLIER_ID_321654", "SELLER_ADD_LEGAL_INFORMATION")
->addDocumentSellerGlobalId("123654879", "0088")
->addDocumentSellerTaxRegistration("VA", "FR 32 123 456 789")
->addDocumentSellerTaxRegistration("FC", "SELLER_TAX_ID")
->setDocumentSellerAddress("SELLER_ADDR_1", "SELLER_ADDR_2", "SELLER_ADDR_3", "75001", "SELLER_CITY", "FR")
->setDocumentSellerLegalOrganisation("123456789", "0002", "SELLER_TRADING_NAME")
->setDocumentSellerContact("SELLER_CONTACT_NAME", "SELLER_CONTACT_DEP", "+33 6 25 64 98 75", null, "contact@seller.com", "SR")
->setDocumentSellerElectronicAddress("EM", "sales@seller.com")

->setDocumentBuyer("BUYER_NAME", "BY_ID_9587456")
->addDocumentBuyerGlobalId("98765432179", "0088")
->addDocumentBuyerTaxRegistration("VA", "FR 05 987 654 321")
->setDocumentBuyerAddress("BUYER_ADDR_1", "BUYER_ADDR_2", "BUYER_ADDR_3", "69001", "BUYER_CITY", "FR")
->setDocumentBuyerLegalOrganisation("987654321", "0002", "BUYER_TRADING_NAME")
->setDocumentBuyerContact("BUYER_CONTACT_NAME", "BUYER_CONTACT_DEP", "+33 6 65 98 75 32", null, "contact@buyer.com", "LB")
->setDocumentBuyerElectronicAddress("EM", "operation@buyer.com")

->setDocumentBuyerRequisitioner("BUYER_REQ_NAME", "BUYER_REQ_ID_25987")
->addDocumentBuyerRequisitionerGlobalId("654987321", "0088")
->addDocumentBuyerRequisitionerTaxRegistration("VA", "FR 92 654 987 321")
->setDocumentBuyerRequisitionerAddress("BUYER_REQ_ADDR_1", "BUYER_REQ_ADDR_2", "BUYER_REQ_ADDR_3", "69001", "BUYER_REQ_CITY", "FR")
->setDocumentBuyerRequisitionerLegalOrganisation("654987321", "0022", "BUYER_REQ_TRADING_NAME")
->setDocumentBuyerRequisitionerContact("BUYER_REQ_CONTACT_NAME", "BUYER_REQ_CONTACT_DEP", "+33 6 54 98 65 32", null, "requisitioner@buyer.com", "PD")
->setDocumentBuyerRequisitionerElectronicAddress("EM", "purchase@buyer.com")

->setDocumentDeliveryTerms("FCA", "Free Carrier", "7", "DEL_TERMS_LOC_ID", "DEL_TERMS_LOC_Name")

->setDocumentSellerOrderReferencedDocument("SALES_REF_ID_459875")
->setDocumentBuyerOrderReferencedDocument("PO123456789")
->setDocumentQuotationReferencedDocument("QUOT_125487")
->setDocumentContractReferencedDocument("CONTRACT_2020-25987")
->setDocumentRequisitionReferencedDocument("REQ_875498")
->addDocumentAdditionalReferencedDocument("916", "ADD_REF_DOC_ID", "ADD_REF_DOC_URIID", "ADD_REF_DOC_Desc")
->addDocumentAdditionalReferencedDocument("50", "TENDER_ID")
->addDocumentAdditionalReferencedDocument("130", "OBJECT_ID", null, null, "AWV")
->setDocumentBlanketOrderReferencedDocument("BLANKET_ORDER_OD", new \DateTime())
->setDocumentPreviousOrderChangeReferencedDocument("PREV_ORDER_C_ID", new \DateTime())
->setDocumentPreviousOrderResponseReferencedDocument("PREV_ORDER_R_ID", new \DateTime())
->setDocumentProcuringProject("PROJECT_ID", "Project Reference")

->setDocumentShipTo("SHIP_TO_NAME", "SHIP_TO_ID")
->addDocumentShipToGlobalId("5897546912", "0088")
->addDocumentShipToTaxRegistration("VA", "FR 66 951 632 874")
->setDocumentShipToAddress("SHIP_TO_ADDR_1", "SHIP_TO_ADDR_2", "SHIP_TO_ADDR_3", "69003", "SHIP_TO_CITY", "FR")
->setDocumentShipToLegalOrganisation("951632874", "0002", "SHIP_TO_TRADING_NAME")
->setDocumentShipToContact("SHIP_TO_CONTACT_NAME", "SHIP_TO_CONTACT_DEP", "+33 6 85 96 32 41", null, "shipto@customer.com", "SD")
->setDocumentShipToElectronicAddress("EM", "delivery@buyer.com")

->setDocumentShipFrom("SHIP_FROM_NAME", "SHIP_FROM_ID")
->addDocumentShipFromGlobalId("875496123", "0088")
->addDocumentShipFromTaxRegistration("VA", "FR 16 548 963 127")
->setDocumentShipFromAddress("SHIP_FROM_ADDR_1", "SHIP_FROM_ADDR_2", "SHIP_FROM_ADDR_3", "75003", "SHIP_FROM_CITY", "FR")
->setDocumentShipFromLegalOrganisation("548963127", "0002", "SHIP_FROM_TRADING_NAME")
->setDocumentShipFromContact("SHIP_FROM_CONTACT_NAME", "SHIP_FROM_CONTACT_DEP", "+33 6 85 96 32 41", null, "shipfrom@seller.com", "SD")
->setDocumentShipFromElectronicAddress("EM", "warehouse@seller.com")

->setDocumentRequestedDeliverySupplyChainEvent(new \DateTime(), new \DateTime(), new \DateTime())

->setDocumentInvoicee("INVOICEE_NAME", "INVOICEE_ID_9587456")
->addDocumentInvoiceeGlobalId("98765432179", "0088")
->addDocumentInvoiceeTaxRegistration("VA", "FR 05 987 654 321")
->addDocumentInvoiceeTaxRegistration("FC", "INVOICEE_TAX_ID")
->setDocumentInvoiceeAddress("INVOICEE_ADDR_1", "INVOICEE_ADDR_2", "INVOICEE_ADDR_3", "69001", "INVOICEE_CITY", "FR")
->setDocumentInvoiceeLegalOrganisation("987654321", "0002", "INVOICEE_TRADING_NAME")
->setDocumentInvoiceeContact("INVOICEE_CONTACT_NAME", "INVOICEE_CONTACT_DEP", "+33 6 65 98 75 32", null, "invoicee@buyer.com", "LB")
->setDocumentInvoiceeElectronicAddress("EM", "invoicee@buyer.com")

->setDocumentPaymentMean("30", "Credit Transfer")
->addDocumentPaymentTerm("PAYMENT_TERMS_DESC")
->addDocumentAllowanceCharge(31.00, false, "S", "VAT", 20, null, 10.00, 310.00, null, null, "64", "SPECIAL AGREEMENT")
->addDocumentAllowanceCharge(21.00, true, "S", "VAT", 20, null, 10.00, 210.00, null, null, "FC", "FREIGHT SERVICES")
->setDocumentSummation(310, 360, 21, 31, 300, 60)
->setDocumentReceivableSpecifiedTradeAccountingAccount("BUYER_ACCOUNT_REF")

->addNewPosition("1")
->setDocumentPositionNote("WEEE Tax of 0,50 euros per item included", null, "TXD")
->setDocumentPositionProductDetails("Product Name", "Product Description", "987654321", "654987321", "0160", "1234567890123", "Product Batch ID (lot ID)", "Product Brand Name")
->addDocumentPositionProductCharacteristic("Characteristic Description", "5 meters", "Characteristic_Code")
->addDocumentPositionProductClassification("Class_code", "Name Class Codification", "TST")
->setDocumentPositionProductInstance("Product Instances Batch ID", "Product Instances Supplier Serial ID")
->setDocumentPositionSupplyChainPackaging("7B", 5, "MTR", 3, "MTR", 1, "MTR")
->setDocumentPositionProductOriginTradeCountry("FR")
->setDocumentPositionProductReferencedDocument("ADD_REF_PROD_ID", "6", "ADD_REF_PROD_URIID", null, "ADD_REF_PROD_Desc")
->setDocumentPositionBuyerOrderReferencedDocument("1")
->setDocumentPositionQuotationReferencedDocument("QUOT_125487", "3")
->addDocumentPositionAdditionalReferencedDocument("ADD_REF_DOC_ID", "916", "ADD_REF_DOC_URIID", 5, "ADD_REF_DOC_Desc")
->addDocumentPositionAdditionalReferencedDocument("OBJECT_125487", "130", null, null, null, "AWV")
->setDocumentPositionGrossPrice(10.50, 1, "C62")
->addDocumentPositionGrossPriceAllowanceCharge(1.00, false, "DISCOUNT", "95")
->addDocumentPositionGrossPriceAllowanceCharge(0.50, true, "WEEE", "AEW")
->setDocumentPositionNetPrice(10, 1, "C62")
->setDocumentPositionCatalogueReferencedDocument("CATALOG_REF_ID", 2)
->setDocumentPositionBlanketOrderReferencedDocument(2)
->setDocumentPositionPartialDelivery(true)
->setDocumentPositionDeliverReqQuantity(6, "C62")
->setDocumentPositionDeliverPackageQuantity(3, "C62")
->setDocumentPositionDeliverPerPackageQuantity(2, "C62")
->addDocumentPositionRequestedDeliverySupplyChainEvent(null, new \DateTime(), new \DateTime())
->addDocumentPositionTax("S", "VAT", 20.0)
->addDocumentPositionAllowanceCharge(6.00, false, 10.0, 60.0, "64", "SPECIAL AGREEMENT")
->addDocumentPositionAllowanceCharge(6.00, true, 10.0, 60.0, "FC", "FREIGHT SERVICES")
->setDocumentPositionLineSummation(60.0)
->setDocumentPositionReceivableTradeAccountingAccount("BUYER_ACCOUNTING_REF")

->writeFile(getcwd() . "/order-x.xml");
```

### Writing a pdf file with attached xml file

```php
use horstoeko\orderx\OrderProfiles;
use horstoeko\orderx\OrderDocumentBuilder;
use horstoeko\orderx\OrderDocumentPdfBuilder;

$document = OrderDocumentBuilder::CreateNew(OrderProfiles::PROFILE_EXTENDED);
$document
->setIsDocumentCopy(false)
->setIsTestDocument(false)
->setDocumentBusinessProcessSpecifiedDocumentContextParameter("A1")

->setDocumentInformation("PO123456789", "220", new \DateTime(), "EUR", "Doc Name", null, new \DateTime(), "9", "AC");

// Do some other stuff (see above)

$pdfDocument = new OrderDocumentPdfBuilder($document, dirname(__FILE__) . "/../src/assets/empty.pdf"))
$pdfDocument
->generateDocument()
->saveDocument(getcwd() . "/order-x.pdf");

```

## Note

The code in this project is provided under the [MIT](https://opensource.org/licenses/MIT) license.
1 change: 0 additions & 1 deletion examples/OrderReaderComfortSimple.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

use horstoeko\orderx\OrderDocumentPdfReader;
use horstoeko\orderx\OrderDocumentReader;
use phpDocumentor\Reflection\DocBlock\Tags\Var_;

require dirname(__FILE__) . "/../vendor/autoload.php";

Expand Down

0 comments on commit d1f5b73

Please sign in to comment.