{"id":19036032,"url":"https://github.com/angelodlfrtr/go-invoice-generator","last_synced_at":"2025-04-05T18:11:56.219Z","repository":{"id":38617827,"uuid":"191372343","full_name":"angelodlfrtr/go-invoice-generator","owner":"angelodlfrtr","description":"Super fast golang invoice / quotation / delivery-note PDF generator","archived":false,"fork":false,"pushed_at":"2023-10-08T17:49:25.000Z","size":924,"stargazers_count":137,"open_issues_count":1,"forks_count":55,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T17:12:12.803Z","etag":null,"topics":["delivery-note","golang","invoice","pdf","quotation"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/angelodlfrtr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-11T12:59:43.000Z","updated_at":"2025-03-05T03:48:01.000Z","dependencies_parsed_at":"2024-06-11T17:08:08.986Z","dependency_job_id":"d44e3de7-e6c1-46b4-b5f0-f8ab6c3fdcd7","html_url":"https://github.com/angelodlfrtr/go-invoice-generator","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelodlfrtr%2Fgo-invoice-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelodlfrtr%2Fgo-invoice-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelodlfrtr%2Fgo-invoice-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelodlfrtr%2Fgo-invoice-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angelodlfrtr","download_url":"https://codeload.github.com/angelodlfrtr/go-invoice-generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247378152,"owners_count":20929297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["delivery-note","golang","invoice","pdf","quotation"],"created_at":"2024-11-08T21:52:58.383Z","updated_at":"2025-04-05T18:11:56.163Z","avatar_url":"https://github.com/angelodlfrtr.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![golangci-lint](https://github.com/angelodlfrtr/go-invoice-generator/actions/workflows/golangci-lint.yml/badge.svg)\n[![Go Report Card](https://goreportcard.com/badge/github.com/angelodlfrtr/go-invoice-generator)](https://goreportcard.com/report/github.com/angelodlfrtr/go-invoice-generator)\n[![GoDoc](https://godoc.org/github.com/angelodlfrtr/go-invoice-generator?status.svg)](https://godoc.org/github.com/angelodlfrtr/go-invoice-generator)\n\n# Golang invoice generator\n\nA super fast golang package to generate invoices, delivery notes and quotations as pdf\nusing https://github.com/go-pdf/fpdf.\n\n## Download from Github\n\n```\ngo get -u github.com/angelodlfrtr/go-invoice-generator\n```\n\n## Example output\n\n![DeliveryNoteExample](example.png)\n\n## Quick start\n\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\t\"testing\"\n\n\tgenerator \"github.com/angelodlfrtr/go-invoice-generator\"\n)\n\nfunc TestNew(t *testing.T) {\n\tdoc, _ := generator.New(generator.Invoice, \u0026generator.Options{\n\t\tTextTypeInvoice: \"FACTURE\",\n\t\tAutoPrint:       true,\n\t})\n\n\tdoc.SetHeader(\u0026generator.HeaderFooter{\n\t\tText:       \"\u003ccenter\u003eCupcake ipsum dolor sit amet bonbon. I love croissant cotton candy. Carrot cake sweet I love sweet roll cake powder.\u003c/center\u003e\",\n\t\tPagination: true,\n\t})\n\n\tdoc.SetFooter(\u0026generator.HeaderFooter{\n\t\tText:       \"\u003ccenter\u003eCupcake ipsum dolor sit amet bonbon. I love croissant cotton candy. Carrot cake sweet I love sweet roll cake powder.\u003c/center\u003e\",\n\t\tPagination: true,\n\t})\n\n\tdoc.SetRef(\"testref\")\n\tdoc.SetVersion(\"someversion\")\n\n\tdoc.SetDescription(\"A description\")\n\tdoc.SetNotes(\"I love croissant cotton candy. Carrot cake sweet I love sweet roll cake powder! I love croissant cotton candy. Carrot cake sweet I love sweet roll cake powder! I love croissant cotton candy. Carrot cake sweet I love sweet roll cake powder! I love croissant cotton candy. Carrot cake sweet I love sweet roll cake powder! \")\n\n\tdoc.SetDate(\"02/03/2021\")\n\tdoc.SetPaymentTerm(\"02/04/2021\")\n\n\tlogoBytes, err := ioutil.ReadFile(\"./example_logo.png\")\n    if err != nil {\n\t\tlog.Fatal(err)\n    }\n\n\tdoc.SetCompany(\u0026generator.Contact{\n\t\tName: \"Test Company\",\n\t\tLogo: logoBytes,\n\t\tAddress: \u0026generator.Address{\n\t\t\tAddress:    \"89 Rue de Brest\",\n\t\t\tAddress2:   \"Appartement 2\",\n\t\t\tPostalCode: \"75000\",\n\t\t\tCity:       \"Paris\",\n\t\t\tCountry:    \"France\",\n\t\t},\n\t})\n\n\tdoc.SetCustomer(\u0026generator.Contact{\n\t\tName: \"Test Customer\",\n\t\tAddress: \u0026generator.Address{\n\t\t\tAddress:    \"89 Rue de Paris\",\n\t\t\tPostalCode: \"29200\",\n\t\t\tCity:       \"Brest\",\n\t\t\tCountry:    \"France\",\n\t\t},\n\t})\n\n\tfor i := 0; i \u003c 3; i++ {\n\t\tdoc.AppendItem(\u0026generator.Item{\n\t\t\tName:        \"Cupcake ipsum dolor sit amet bonbon, coucou bonbon lala jojo, mama titi toto\",\n\t\t\tDescription: \"Cupcake ipsum dolor sit amet bonbon, Cupcake ipsum dolor sit amet bonbon, Cupcake ipsum dolor sit amet bonbon\",\n\t\t\tUnitCost:    \"99876.89\",\n\t\t\tQuantity:    \"2\",\n\t\t\tTax: \u0026generator.Tax{\n\t\t\t\tPercent: \"20\",\n\t\t\t},\n\t\t})\n\t}\n\n\tdoc.AppendItem(\u0026generator.Item{\n\t\tName:     \"Test\",\n\t\tUnitCost: \"99876.89\",\n\t\tQuantity: \"2\",\n\t\tTax: \u0026generator.Tax{\n\t\t\tAmount: \"89\",\n\t\t},\n\t\tDiscount: \u0026generator.Discount{\n\t\t\tPercent: \"30\",\n\t\t},\n\t})\n\n\tdoc.AppendItem(\u0026generator.Item{\n\t\tName:     \"Test\",\n\t\tUnitCost: \"3576.89\",\n\t\tQuantity: \"2\",\n\t\tDiscount: \u0026generator.Discount{\n\t\t\tPercent: \"50\",\n\t\t},\n\t})\n\n\tdoc.AppendItem(\u0026generator.Item{\n\t\tName:     \"Test\",\n\t\tUnitCost: \"889.89\",\n\t\tQuantity: \"2\",\n\t\tDiscount: \u0026generator.Discount{\n\t\t\tAmount: \"234.67\",\n\t\t},\n\t})\n\n\tdoc.SetDefaultTax(\u0026generator.Tax{\n\t\tPercent: \"10\",\n\t})\n\n\t// doc.SetDiscount(\u0026generator.Discount{\n\t// Percent: \"90\",\n\t// })\n\tdoc.SetDiscount(\u0026generator.Discount{\n\t\tAmount: \"1340\",\n\t})\n\n\tpdf, err := doc.Build()\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\terr = pdf.OutputFileAndClose(\"out.pdf\")\n\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n}\n\n```\n\n## License\n\nThis SDK is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee [LICENSE](./LICENSE) and [NOTICE](./NOTICE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelodlfrtr%2Fgo-invoice-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangelodlfrtr%2Fgo-invoice-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelodlfrtr%2Fgo-invoice-generator/lists"}