yldrykuru/ublinvoice

UBL-TR 2.1 Generator

Maintainers

Package info

github.com/yldrykuru/ubl-invoice

pkg:composer/yldrykuru/ublinvoice

Statistics

Installs: 14

Dependents: 0

Suggesters: 0

Stars: 4

Open Issues: 0

0.0.2.x-dev 2024-02-07 00:59 UTC

This package is auto-updated.

Last update: 2026-04-07 05:42:36 UTC


README

Bu kütüphane, fatura oluşturmak için kullanılan UBL (Universal Business Language) standardına uygun XML faturalarını oluşturmanıza olanak tanır.

Kullanım Örneği

       $invoice = (new \Yldrykuru\Ublinvoice\Invoice())
            ->setUBLVersionID("2.1")
            ->setCustomizationID("TR1.2")
            ->setProfileID("TEMELFATURA")
            ->setId("GIB20090000000001")
            ->setCopyIndicator(false)
            ->setUUID("F47AC10B-58CC-4372-A567-0E02B2C3D479")
            ->setIssueDate("2009-01-05")
            ->setIssueTime("14:42:00")
            ->setInvoiceTypeCode(\Yldrykuru\Ublinvoice\InvoiceTypeCode::SATIS)
            ->setDocumentCurrencyCode("TRY")
            ->setLineCountNumeric("1")
            ->setInvoicePeriod(
                (new \Yldrykuru\Ublinvoice\InvoicePeriod())
                    ->setStartDate("2008-12-05")
                    ->setEndDate("2009-01-05")
            )
            ->setSignature(
                (new \Yldrykuru\Ublinvoice\Signature())
                    ->setVknTCKN("1288331521")
                    ->setSignatoryParty(
                        (new \Yldrykuru\Ublinvoice\SignatoryParty())
                            ->setVkn("1288331521")
                            ->setPostalAddress(
                                (new \Yldrykuru\Ublinvoice\Address())
                                    ->setStreetName("Papatya Caddesi Yasemin Sokak")
                                    ->setBuildingNumber("21")
                                    ->setCitySubdivisionName("Beşiktaş")
                                    ->setCityName("İSTANBUL")
                                    ->setPostalZone("34100")
                            )
                    )
                    ->setDigitalSignatureAttachmentURI("#Signature")
            )
            ->setAccountingSupplierParty(
                (new \Yldrykuru\Ublinvoice\Party())
                    ->setName("AAA Anonim Şirketi")
                    ->setWebsiteURI("http://www.aaa.com.tr/")
                    ->setPostalAddress(
                        (new \Yldrykuru\Ublinvoice\Address())
                            ->setStreetName("Papatya Caddesi Yasemin Sokak")
                            ->setBuildingNumber("21")
                            ->setCitySubdivisionName("Beşiktaş")
                            ->setCityName("İstanbul")
                            ->setPostalZone("34100")
                            ->setCountry(
                                (new \Yldrykuru\Ublinvoice\Country())
                                    ->setName("Türkiye")
                            )
                    )->setContact(
                        (new \Yldrykuru\Ublinvoice\Contact())
                            ->setTelephone("(212) 925 51515")
                            ->setTelefax("(212) 925505015")
                            ->setElectronicMail("aa@aaa.com.tr")
                    )->setPartyTaxScheme(
                        (new \Yldrykuru\Ublinvoice\PartyTaxScheme())
                            ->setTaxScheme(
                                (new \Yldrykuru\Ublinvoice\TaxScheme())
                                    ->setName("Büyük Mükellefler")
                            )
                    )->setPartyIdentifications(
                        [
                            (new \Yldrykuru\Ublinvoice\PartyIdentification())->setValue("VKN", "1288331521")
                        ]
                    )
            )
            ->setAccountingCustomerParty(
                (new \Yldrykuru\Ublinvoice\Party())
                    ->setName("Deneme")
                    ->setPostalAddress(
                        (new \Yldrykuru\Ublinvoice\Address())
                            ->setStreetName("6. Sokak")
                            ->setBuildingNumber("1")
                            ->setCitySubdivisionName("Beşiktaş")
                            ->setCityName("İstanbul")
                            ->setPostalZone("34100")
                            ->setCountry(
                                (new \Yldrykuru\Ublinvoice\Country())
                                    ->setName("Türkiye")
                            )
                    )->setContact(
                        (new \Yldrykuru\Ublinvoice\Contact())
                            ->setElectronicMail("1234567890@mydn.com.tr")
                    )->setPerson(
                        (new \Yldrykuru\Ublinvoice\Person())
                            ->setFirstName("Ali")
                            ->setFamilyName("YILMAZ")
                    )->setPartyIdentifications(
                        [
                            (new \Yldrykuru\Ublinvoice\PartyIdentification())->setValue("TCKN", "1234567890"),
                            (new \Yldrykuru\Ublinvoice\PartyIdentification())->setValue("TESISATNO", "1234567"),
                            (new \Yldrykuru\Ublinvoice\PartyIdentification())->setValue("SAYACNO", "12345678")
                        ]
                    )
            )
            ->setPaymentTerms(
                (new \Yldrykuru\Ublinvoice\PaymentTerms())->setNote("BBB Bank Otomatik Ödeme")->setPaymentDueDate("2009-01-20")
            )
            ->setTaxTotal(
                (new \Yldrykuru\Ublinvoice\TaxTotal())->setTaxAmount(2.73)->addTaxSubTotal(
                    (new \Yldrykuru\Ublinvoice\TaxSubTotal())->setTaxableAmount(15.15)->setTaxAmount(2.73)->setTaxCategory(
                        (new \Yldrykuru\Ublinvoice\TaxCategory())->setTaxScheme(
                            (new \Yldrykuru\Ublinvoice\TaxScheme())->setTaxTypeCode("0015")
                        )
                    )
                )
            )
            ->setLegalMonetaryTotal(
                (new \Yldrykuru\Ublinvoice\LegalMonetaryTotal())
                    ->setLineExtensionAmount(15.15)
                    ->setTaxExclusiveAmount(15.15)
                    ->setTaxInclusiveAmount(17.88)
                    ->setPayableAmount(17.88)
            )
            ->setInvoiceLines([
                (new \Yldrykuru\Ublinvoice\InvoiceLine())
                    ->setId("1")
                    ->setInvoicedQuantity(101)
                    ->setLineExtensionAmount(15.15)
                    ->setUnitCode("KWH") //BİZİM KULLANACAĞIMIZ C62
                    ->setTaxTotal(
                        (new \Yldrykuru\Ublinvoice\TaxTotal())->setTaxAmount(2.73)->addTaxSubTotal(
                            (new \Yldrykuru\Ublinvoice\TaxSubTotal())->setTaxableAmount(15.15)->setTaxAmount(2.73)->setPercent(18.0)->setTaxCategory(
                                (new \Yldrykuru\Ublinvoice\TaxCategory())->setTaxScheme(
                                    (new \Yldrykuru\Ublinvoice\TaxScheme())->setName("KDV")->setTaxTypeCode("0015")
                                )
                            )
                        )
                    )->setItem(
                        (new \Yldrykuru\Ublinvoice\Item())->setName("Elektrik Tüketim Bedeli")
                    )
                    ->setPrice(
                        (new \Yldrykuru\Ublinvoice\Price())->setPriceAmount(0.15)->setUnitCode("KWH")
                    )
            ]);

      $generator = new \Yldrykuru\Ublinvoice\Generator();
      $outputXMLString = $generator->invoice($invoice);

      $dom = new \DOMDocument;
      $dom->loadXML($outputXMLString);

      $dom->save('KAYIT PATHI');

Katkıda Bulunma

Bu projeye katkıda bulunmaktan çekinmeyin. Sorunlar oluşturabilir, depoyu çatallayabilir ve işlevselliği geliştirmek için pull istekleri gönderebilirsiniz.

Lisans

Bu proje MIT Lisansı ile lisanslanmıştır. Daha fazla bilgi için LICENSE dosyasına göz atabilirsiniz.