- How do I install mlevent/fatura in a Laravel application?
- Install it with Composer as a normal Laravel dependency (composer require mlevent/fatura), then let package discovery register the service provider or add it to your providers list if auto-discovery is disabled. Publish the configuration file with the vendor:publish command and fill in your integrator endpoint and credentials. Check the package's composer.json constraints against your host app before committing, since pre-1.0 packages often lag the newest Laravel majors.
- Which Laravel and PHP versions does mlevent/fatura support?
- The package targets Laravel applications on a currently supported PHP version, but you should verify the exact constraints in its composer.json before installing. Pre-1.0 Laravel packages frequently lag the newest framework majors, so test against your specific Laravel and PHP combination. If you run Lumen or a non-Laravel PHP service, expect to instantiate the underlying client manually and forgo the framework glue.
- Do I need GİB credentials or a mali mühür to use this package?
- Yes. You need valid GİB-aligned or intermediary integrator credentials, plus a test or production mali mühür (electronic seal) profile, before any real invoice can be issued. The hard prerequisite is commercial onboarding to the invoicing channel, not code. Secure that access before you schedule integration work.
- Is there a sandbox or test environment for e-Fatura and e-Arşiv?
- Sandbox availability depends on the integrator you onboard with rather than on the package itself, so confirm it during onboarding. Ask specifically whether a test mali mühür profile can be issued without a production seal. Standing up the sandbox and running the full draft to document to ETTN to query cycle should be your first integration step.
- How do I retrieve the ETTN or UUID after creating an invoice draft?
- Treat the identifier as something you verify rather than assume. The v0.3.x notes show two releases were spent correcting ETTN/UUID extraction after draft creation and disambiguating the last-document query by buyer VKN/TCKN. Persist whatever identifier the current version returns, and re-validate any prototype code written against v0.3.1.
- Can I add taxes, discounts, and custom PDF templates?
- The package is aimed at itemized invoices with taxes and discounts, customizable templates, and PDF export for billing, accounting, and record-keeping workflows. Confirm against the README which tax schemes and discount types are actually modeled before designing your data mapping. Also check Turkish character handling and timezone assumptions in payloads against your app's locale settings.
- Which document types does it support: e-Fatura, e-Arşiv, e-SMM, e-Müstahsil?
- The package overview names GİB e-Arşiv Portal e-Fatura, e-SMM, and e-Müstahsil generation. Coverage for special scenarios such as iade/istisna, foreign currency, and withholding is not established by the summary alone, so test each case in sandbox or ask the maintainer directly. Build your application service so unsupported document types fail loudly instead of silently.
- Is mlevent/fatura stable enough for production at v0.3.x?
- At v0.3.x the package is pre-1.0, so semver gives no stability guarantee and minor bumps may change method signatures or return shapes. Pin to an exact minor such as 0.3.3 rather than a caret range, and gate every upgrade behind a sandbox test suite. Also weigh the single-maintainer bus factor, Turkish-language documentation and error messages, and dependence on an external provider's uptime and rate limits.
- How do I test invoice creation without calling the real invoicing provider?
- Wrap the package's client behind a thin application service so you can bind a fake in your test suite instead of mocking HTTP calls deep inside the package. Run true end-to-end checks only against the sandbox profile, and keep those out of your fast unit suite. Validate buyer VKN/TCKN handling in your own layer too, since identifier matching has already been a source of bugs.
- What are the alternatives to mlevent/fatura for Laravel e-invoice generation?
- Alternatives include other Turkish e-invoice integrator SDKs and calling your provider's REST API directly from a small application service. Because mlevent/fatura is a thin wrapper around invoice lifecycle calls, switching cost stays low if you keep those calls behind your own interface. Compare options on sandbox access, a documented ETTN contract, Laravel support matrix, and support policy rather than on feature lists.