<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesorigindev _class='hudson.plugins.git.util.Build'><buildNumber>726</buildNumber><marked><SHA1>58b17603f170fd526c73b345e46a874083a1427c</SHA1><branch><SHA1>58b17603f170fd526c73b345e46a874083a1427c</SHA1><name>refs/remotes/origin/dev</name></branch></marked><revision><SHA1>58b17603f170fd526c73b345e46a874083a1427c</SHA1><branch><SHA1>58b17603f170fd526c73b345e46a874083a1427c</SHA1><name>refs/remotes/origin/dev</name></branch></revision></refsremotesorigindev></buildsByBranchName><lastBuiltRevision><SHA1>58b17603f170fd526c73b345e46a874083a1427c</SHA1><branch><SHA1>58b17603f170fd526c73b345e46a874083a1427c</SHA1><name>refs/remotes/origin/dev</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/erp-nuxt-frontend.git</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'><artifactsUrl>https://jenkins.younex.de/view/all/job/build-logship-frontend/726/artifact</artifactsUrl><changesUrl>https://jenkins.younex.de/view/all/job/build-logship-frontend/changes</changesUrl><displayUrl>https://jenkins.younex.de/view/all/job/build-logship-frontend/726/</displayUrl><testsUrl>https://jenkins.younex.de/view/all/job/build-logship-frontend/726/testReport</testsUrl></action><building>false</building><displayName>#726</displayName><duration>471785</duration><estimatedDuration>71602</estimatedDuration><fullDisplayName>build-logship-frontend #726</fullDisplayName><id>726</id><inProgress>false</inProgress><keepLog>false</keepLog><number>726</number><queueId>5637</queueId><result>SUCCESS</result><timestamp>1788480000273</timestamp><url>https://jenkins.younex.de/view/all/job/build-logship-frontend/726/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/accounting/ebay-settlements.vue</affectedPath><affectedPath>app/pages/accounting/amazon-settlements.vue</affectedPath><commitId>ceab8d5e9dcd161ee18ca3380adc75ea1796418e</commitId><timestamp>1788418001000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Changes to selecting multiple settlements
</comment><date>2026-09-03 08:46:41 +0200</date><id>ceab8d5e9dcd161ee18ca3380adc75ea1796418e</id><msg>Changes to selecting multiple settlements</msg><path><editType>edit</editType><file>app/pages/accounting/ebay-settlements.vue</file></path><path><editType>edit</editType><file>app/pages/accounting/amazon-settlements.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>server/api/invoices/lexoffice-categories.get.ts</affectedPath><affectedPath>app/components/AgGrid/Invoices/AgLexofficeStatus.vue</affectedPath><affectedPath>app/composables/states.ts</affectedPath><affectedPath>app/components/sales/LexofficeCategoryModal.vue</affectedPath><affectedPath>server/api/invoices/lexoffice-upload.post.ts</affectedPath><affectedPath>app/pages/sales/invoices/index.vue</affectedPath><affectedPath>server/utils/zugferd/maybeZugferdPdf.ts</affectedPath><affectedPath>server/utils/lexofficeClient.ts</affectedPath><affectedPath>app/composables/useLexofficeCategoryPrompt.ts</affectedPath><commitId>e1d74a4d026b0ddb339b62cf2922b65cfed6d989</commitId><timestamp>1788421656000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Tweak lexoffice
</comment><date>2026-09-03 09:47:36 +0200</date><id>e1d74a4d026b0ddb339b62cf2922b65cfed6d989</id><msg>Tweak lexoffice</msg><path><editType>edit</editType><file>app/pages/sales/invoices/index.vue</file></path><path><editType>edit</editType><file>app/composables/states.ts</file></path><path><editType>add</editType><file>server/utils/lexofficeClient.ts</file></path><path><editType>edit</editType><file>server/utils/zugferd/maybeZugferdPdf.ts</file></path><path><editType>add</editType><file>app/components/sales/LexofficeCategoryModal.vue</file></path><path><editType>edit</editType><file>server/api/invoices/lexoffice-upload.post.ts</file></path><path><editType>edit</editType><file>app/components/AgGrid/Invoices/AgLexofficeStatus.vue</file></path><path><editType>add</editType><file>app/composables/useLexofficeCategoryPrompt.ts</file></path><path><editType>add</editType><file>server/api/invoices/lexoffice-categories.get.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/partners/PartnerExtraOrderLinesEditor.vue</affectedPath><affectedPath>server/api/partners/fulfillment-order-lines/index.get.ts</affectedPath><affectedPath>server/api/partners/fulfillment-order-lines/destroy.delete.ts</affectedPath><affectedPath>app/components/partners/PartnerForm.vue</affectedPath><affectedPath>server/api/fulfillment/generate-orders.post.ts</affectedPath><affectedPath>server/api/partners/fulfillment-order-lines/update.put.ts</affectedPath><affectedPath>server/api/partners/fulfillment-order-lines/store.post.ts</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><commitId>48a99bb443d228ff91a94bd8a38e8fca95d007c5</commitId><timestamp>1788424103000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Add admin-only extra order lines per fulfillment customer

Lets admins configure standing product+qty+price lines per c_bpartner
(CUST_BPartner_ExtraOrderLine) that get automatically appended to every
order generated for that customer via Fulfillment Customers &gt; Generate
Orders, so recurring per-customer invoice requirements no longer need
manual ad-hoc entry each period.

Co-Authored-By: Claude Sonnet 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01U6KtDeLYZGDTg5SWKCiSjL
</comment><date>2026-09-03 10:28:23 +0200</date><id>48a99bb443d228ff91a94bd8a38e8fca95d007c5</id><msg>Add admin-only extra order lines per fulfillment customer</msg><path><editType>edit</editType><file>server/api/fulfillment/generate-orders.post.ts</file></path><path><editType>add</editType><file>app/components/partners/PartnerExtraOrderLinesEditor.vue</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>add</editType><file>server/api/partners/fulfillment-order-lines/index.get.ts</file></path><path><editType>edit</editType><file>app/components/partners/PartnerForm.vue</file></path><path><editType>add</editType><file>server/api/partners/fulfillment-order-lines/update.put.ts</file></path><path><editType>add</editType><file>server/api/partners/fulfillment-order-lines/store.post.ts</file></path><path><editType>add</editType><file>server/api/partners/fulfillment-order-lines/destroy.delete.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/partners/PartnerExtraOrderLinesEditor.vue</affectedPath><affectedPath>nuxt.config.ts</affectedPath><affectedPath>app/components/SelectBox.vue</affectedPath><affectedPath>reference/recipes.md</affectedPath><affectedPath>app/components/sales/LexofficeCategoryModal.vue</affectedPath><commitId>4af90b5e5626e410142b8fc9dab921a90c249970</commitId><timestamp>1788433705000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>fix bpartner product ffn order
</comment><date>2026-09-03 13:08:25 +0200</date><id>4af90b5e5626e410142b8fc9dab921a90c249970</id><msg>fix bpartner product ffn order</msg><path><editType>edit</editType><file>reference/recipes.md</file></path><path><editType>edit</editType><file>nuxt.config.ts</file></path><path><editType>add</editType><file>app/components/SelectBox.vue</file></path><path><editType>edit</editType><file>app/components/sales/LexofficeCategoryModal.vue</file></path><path><editType>edit</editType><file>app/components/partners/PartnerExtraOrderLinesEditor.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>server/api/commission/parcels/dhl/multi.post.ts</affectedPath><affectedPath>server/api/commission/parcels/dpd/multi.post.ts</affectedPath><affectedPath>server/api/commission/parcels/dpd/index.post.ts</affectedPath><commitId>f0b6ac6ffb3f0021f36262f31bc3731ad5290ce1</commitId><timestamp>1788434722000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>decouple dpd and dhl multi form marketplace interaction
</comment><date>2026-09-03 13:25:22 +0200</date><id>f0b6ac6ffb3f0021f36262f31bc3731ad5290ce1</id><msg>decouple dpd and dhl multi form marketplace interaction</msg><path><editType>edit</editType><file>server/api/commission/parcels/dhl/multi.post.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/index.post.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/multi.post.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/partners/PartnerExtraOrderLinesEditor.vue</affectedPath><affectedPath>server/api/fulfillment/generate-orders.post.ts</affectedPath><affectedPath>app/components/partners/PartnerForm.vue</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><commitId>6e8e5a76207f64a774d6fc1d89d4f6c6983df23f</commitId><timestamp>1788435150000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Fix extra order line UX per feedback: append order, plain product name, description text

- New rows append to the bottom of the list instead of the top, matching
  the order lines will appear in on the generated invoice
- Show the plain product name (not the SKU-prefixed picker label) in the
  editor and when reloading saved rows
- Stop overwriting the product name with the custom description on the
  generated order/preview/report line — the product name always comes
  from M_Product_ID; description is now only sent as supplementary line
  text when the admin actually entered one
- Correct the section subtitle to reference the fulfillment order-generation
  flow instead of "invoice"

Co-Authored-By: Claude Sonnet 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01U6KtDeLYZGDTg5SWKCiSjL
</comment><date>2026-09-03 13:32:30 +0200</date><id>6e8e5a76207f64a774d6fc1d89d4f6c6983df23f</id><msg>Fix extra order line UX per feedback: append order, plain product name, description text</msg><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>app/components/partners/PartnerExtraOrderLinesEditor.vue</file></path><path><editType>edit</editType><file>server/api/fulfillment/generate-orders.post.ts</file></path><path><editType>edit</editType><file>app/components/partners/PartnerForm.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/partners/PartnerForm.vue</affectedPath><affectedPath>app/components/partners/PartnerExtraOrderLinesEditor.vue</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><commitId>3a0f08c909ae6092fdd5ba889f44a037db3bd42c</commitId><timestamp>1788435378000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Fix remaining invoice wording on extra order lines section

Section title and description placeholder still referred to "invoice",
inconsistent with the earlier fix that stopped the description from
overwriting the product name. Now consistently frames it as sales order
terminology and clarifies the description rides along as the order line's
description text without replacing the product name.

Co-Authored-By: Claude Sonnet 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01U6KtDeLYZGDTg5SWKCiSjL
</comment><date>2026-09-03 13:36:18 +0200</date><id>3a0f08c909ae6092fdd5ba889f44a037db3bd42c</id><msg>Fix remaining invoice wording on extra order lines section</msg><path><editType>edit</editType><file>app/components/partners/PartnerExtraOrderLinesEditor.vue</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>app/components/partners/PartnerForm.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/partners/PartnerExtraOrderLinesEditor.vue</affectedPath><commitId>32f5d093c53c79474bc946ca7f6bee300a961d6a</commitId><timestamp>1788435466000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Make extra order line product search case-insensitive

Wraps the Name filter in tolower(...) and lowercases the search term
client-side, matching the tolower() pattern already used for every other
product search in this app. Also escapes single quotes in the search term
to keep the OData filter valid for product names containing an apostrophe.

Co-Authored-By: Claude Sonnet 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01U6KtDeLYZGDTg5SWKCiSjL
</comment><date>2026-09-03 13:37:46 +0200</date><id>32f5d093c53c79474bc946ca7f6bee300a961d6a</id><msg>Make extra order line product search case-insensitive</msg><path><editType>edit</editType><file>app/components/partners/PartnerExtraOrderLinesEditor.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/partners/PartnerExtraOrderLinesEditor.vue</affectedPath><commitId>a349de2fe0f001392e296a55a4e6b17e34d23d27</commitId><timestamp>1788435701000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Richer product picker results: BOM badge, bold name, small SKU

Custom item slot on the extra-order-lines product picker (SelectBox's
default slot renders per dropdown row only, not the closed trigger):
bold product name, a small muted SKU/Value, and an orange "BOM" badge
when the product is a BOM/JTL-BOM article — same isBomOf() combined-flag
check and badge styling already used in ProductSearchSelect.vue. Styles
live in a non-scoped &lt;style&gt; block since the dropdown is teleported to
&lt;body&gt; (same reasoning as SelectBox.vue's own item/trigger styles).

Co-Authored-By: Claude Sonnet 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01U6KtDeLYZGDTg5SWKCiSjL
</comment><date>2026-09-03 13:41:41 +0200</date><id>a349de2fe0f001392e296a55a4e6b17e34d23d27</id><msg>Richer product picker results: BOM badge, bold name, small SKU</msg><path><editType>edit</editType><file>app/components/partners/PartnerExtraOrderLinesEditor.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>server/utils/offers/quotePdf.ts</affectedPath><affectedPath>app/components/offers/QuoteModal.vue</affectedPath><affectedPath>server/utils/offers/offerConditions.ts</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><affectedPath>app/composables/useOfferQuote.ts</affectedPath><commitId>0f85aed82ebfa1404d1c6b40ac154ebf12220c0d</commitId><timestamp>1788440280000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Enhance Quote offer
</comment><date>2026-09-03 14:58:00 +0200</date><id>0f85aed82ebfa1404d1c6b40ac154ebf12220c0d</id><msg>Enhance Quote offer</msg><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>app/components/offers/QuoteModal.vue</file></path><path><editType>edit</editType><file>server/utils/offers/quotePdf.ts</file></path><path><editType>edit</editType><file>server/utils/offers/offerConditions.ts</file></path><path><editType>edit</editType><file>app/composables/useOfferQuote.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>reference/datev-opos-liste-research.md</affectedPath><affectedPath>app/pages/accounting/opos/index.vue</affectedPath><affectedPath>app/components/MainNavigationMenu.vue</affectedPath><affectedPath>server/api/accounting/opos/index.get.ts</affectedPath><affectedPath>app/composables/menu/admin/accounting.ts</affectedPath><affectedPath>reference/recipes.md</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><commitId>6c8bfb9f5eb915c8c0d9adc7d78957653dd4ab35</commitId><timestamp>1788443797000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Add Opos List to Accounting
</comment><date>2026-09-03 15:56:37 +0200</date><id>6c8bfb9f5eb915c8c0d9adc7d78957653dd4ab35</id><msg>Add Opos List to Accounting</msg><path><editType>edit</editType><file>app/composables/menu/admin/accounting.ts</file></path><path><editType>add</editType><file>server/api/accounting/opos/index.get.ts</file></path><path><editType>add</editType><file>app/pages/accounting/opos/index.vue</file></path><path><editType>add</editType><file>reference/datev-opos-liste-research.md</file></path><path><editType>edit</editType><file>app/components/MainNavigationMenu.vue</file></path><path><editType>edit</editType><file>reference/recipes.md</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>server/utils/accountingRequestType.ts</affectedPath><affectedPath>server/api/fulfillment/generate-orders.post.ts</affectedPath><affectedPath>app/components/requests/MyTicketDetail.vue</affectedPath><affectedPath>app/composables/useRequestReportPdf.ts</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><commitId>201be99b0b8acbc647d506b15142b5af5f5092e7</commitId><timestamp>1788444766000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>add amount option to ticket for accounting
</comment><date>2026-09-03 16:12:46 +0200</date><id>201be99b0b8acbc647d506b15142b5af5f5092e7</id><msg>add amount option to ticket for accounting</msg><path><editType>edit</editType><file>server/utils/accountingRequestType.ts</file></path><path><editType>edit</editType><file>app/components/requests/MyTicketDetail.vue</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>server/api/fulfillment/generate-orders.post.ts</file></path><path><editType>edit</editType><file>app/composables/useRequestReportPdf.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>server/api/orders/[id]/rmas.get.ts</affectedPath><affectedPath>app/pages/sales/orders/[id]/edit.vue</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><commitId>58b17603f170fd526c73b345e46a874083a1427c</commitId><timestamp>1788451276000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Show return on sales order2
</comment><date>2026-09-03 18:01:16 +0200</date><id>58b17603f170fd526c73b345e46a874083a1427c</id><msg>Show return on sales order2</msg><path><editType>edit</editType><file>app/pages/sales/orders/[id]/edit.vue</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>add</editType><file>server/api/orders/[id]/rmas.get.ts</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName><id>info</id></culprit></freeStyleBuild>