Files
erpnext/erpnext/public/images/bank-logos/BNP_Paribas-Dark.svg
Nikhil Kothari 6de5367f12 feat: new banking module (#54720)
* feat: initial SPA setup for banking

* wip: bring over new banking module

* feat: added Espresso design tokens

* feat: button styles

* fix: add all ink colors

* wip: espresso design system changes

* feat: button and badge espresso components

* fix: button styling for reconcile

* feat: Espresso progress bar

* feat: Espresso toggle switch

* feat: Espresso tabs design

* fix: vertical tab support

* fix: button sizing across modals

* feat: Espresso style table layout

* feat: Espresso tooltip

* feat: Espresso elevations and checkbox

* feat: Dialog with Espresso styles

* feat: Espresso textarea

* fix: input styles

* fix: colors on bank picker

* fix: breadcrumb styling

* fix: bank picker styling

* feat: create doctypes and fields for bank reconciliation

* feat: APIs for banking

* fix: use date format parser

* fix: font styling to match Espresso

* wip: settings modal

* feat: settings dialog component

* fix: icons and invalid requests

* feat: preferences tab

* fix: adjust icon stroke width to 1.5

* feat: rule configuration in settings

* fix: remove sheet component

* feat: alert and error banner component

* feat: dropdown in Espresso

* feat: popover and select in Espresso

* fix: cleanup more styles

* fix: match size of link fields

* feat: command styling

* fix: remove unused style tokens

* fix: styles for global date picker dropdown

* fix: styles for match and reconcile

* feat: table Espresso component

* feat: remove all other design tokens

* fix: remove unused tokens

* fix: form elements

* fix: remove unused styles and fix filters in bank transaction list

* feat: fetch bank rec doctypes for filtering

* fix: record payment modal

* feat: support for dark mode switching

* fix: move bank logos to public folder

* feat: add support for RTL

* feat: support for RTL

* chore: send layout direction in dev boot

* fix: make checkbox work in RTL

* feat: dark mode support

* fix: dark mode style

* feat: bank logos in dark mode

* feat: dark mode bank logos

* chore: use dark mode bank logos everywhere

* chore: move rule evaluation to controller

* chore: add tests for bank transaction rules

* fix: move deps to fix actions errors

* fix: move tw-animate-css to deps

* fix: remove shadcn

* fix: do not open modal if no transactions selected

* fix: add translation strings

* feat: add banner on existing bank reconciliation tool

* feat: bank statement import

* fix: translations and layout directions

* fix: validation for transaction matching rule

* fix: styles

* fix: show conflicting transactions in alert

* fix: show help text for new banking module forms

* feat: show total debits and credits

* fix: dark mode colors in automatic config

* feat: add keyboard shortcuts help

* feat: added keyboard shortcut for settings

* fix: decrease size of progress bar

* chore: bump packages

* feat: add tests for statement import

* fix: settings dialog

* fix: show banner on small screens

* fix: show banner when no bank account set
2026-05-09 23:14:58 +05:30

125 lines
9.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Calque_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 219.1 45.4"
style="enable-background:new 0 0 219.1 45.4;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#SVGID_1_);}
.st1{fill:url(#SVGID_2_);}
.st2{fill:url(#SVGID_3_);}
.st3{fill:url(#SVGID_4_);}
.st4{fill:url(#SVGID_5_);}
.st5{fill:url(#SVGID_6_);}
.st6{fill:#FFFFFF;}
</style>
<switch>
<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
<i:pgfRef xlink:href="#adobe_illustrator_pgf">
</i:pgfRef>
</foreignObject>
<g i:extraneous="self">
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="22.6772" y1="-1.1157" x2="22.6772" y2="46.7615">
<stop offset="0" style="stop-color:#008053"/>
<stop offset="0.6" style="stop-color:#7FCBAE"/>
<stop offset="1" style="stop-color:#00A76D"/>
</linearGradient>
<rect class="st0" width="45.4" height="45.4"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="22.6057" y1="-11.2666" x2="22.6057" y2="42.5342">
<stop offset="0" style="stop-color:#00A76D"/>
<stop offset="0.3" style="stop-color:#7FCBAE"/>
<stop offset="0.55" style="stop-color:#00A76D"/>
<stop offset="0.8352" style="stop-color:#008053"/>
<stop offset="0.8691" style="stop-color:#008558"/>
<stop offset="0.9244" style="stop-color:#009264"/>
<stop offset="0.9939" style="stop-color:#00A97A"/>
<stop offset="1" style="stop-color:#00AD7D"/>
</linearGradient>
<path class="st1" d="M44,22.9c0,9.5,0.4,19.2,0.4,19.2c0,1.1-0.7,1.8-1.6,1.8H3.5c-0.9,0-1.5-0.8-1.6-1.8c0,0-1.1-8.3-1.1-20.9
C0.8,8.5,2,2.6,2,2.6c0.1-1,0.7-1.8,1.6-1.8h39.3c0.9,0,1.6,0.8,1.6,1.8C44.4,2.6,44,13.5,44,22.9z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="31.2236" y1="39.563" x2="31.2236" y2="4.7475">
<stop offset="0" style="stop-color:#00B387"/>
<stop offset="1" style="stop-color:#00A76D"/>
</linearGradient>
<path class="st2" d="M35.2,12.2c-2.8,1.6-3.7,1.8-6.7,3.6l0.1-0.3c1.6-1.7,2.3-2.5,3.3-4c-2.8,0.2-6.9,0.5-9.8,1.1l0.2-0.3
C25,11,29.9,9.7,32.4,9.4c-0.6-0.9-5.6-3.6-6.8-4.1L25.7,5c3.8,0.4,8.8,2.2,10.9,3.5c0.9-0.3,1.9-0.3,3.6-0.5c0,0-0.3,1-2.1,2.3
c0.5,1.2-0.6,8.1-1.6,9.9C36.5,17.4,36.3,13.8,35.2,12.2z"/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="9.6226" y1="39.5649" x2="9.6226" y2="4.7389">
<stop offset="0" style="stop-color:#00B387"/>
<stop offset="1" style="stop-color:#00A76D"/>
</linearGradient>
<path class="st3" d="M14.7,36.8l0.1-0.3c-1.5-0.6-3-1-4.2-2.2c0.4-1.1,0.8-1.9,1.5-2.9l0.1-0.3c-1.3,0.2-2.4,0.7-3.5,0.9
c-0.9-1.5-1.2-3.6-1.7-5.6L7,26.6c-0.2,2.3-0.3,3.9,0,5.7c-0.9,0.3-1.7,0.3-2.5,0.6l-0.1,0.3c1.2,0.7,2.1,1.3,3.5,1.9
c0.7,1.5,1.5,2.6,2.7,3.8l0.1-0.3c-0.2-0.9-0.5-1.6-0.4-2.6C11.8,36.5,13,36.7,14.7,36.8z"/>
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="16.3516" y1="39.5571" x2="16.3516" y2="4.754">
<stop offset="0" style="stop-color:#00B387"/>
<stop offset="1" style="stop-color:#00A76D"/>
</linearGradient>
<path class="st4" d="M18.9,14c0,0-0.6,1.1-1.1,2.5h-0.1c3.5,0.5,6.8,1.9,7.6,2.4l-0.1,0.3c-3.6-0.6-5.5-0.6-6.9-0.4
c-1.3,0.1-1.6,0.3-1.6,0.3c-0.8,1.7-1.2,4.5-1.4,5.5l-0.1,0.3c-0.7-1.6-1.6-4.8-1.6-4.8c-1.8,1-6,4.9-6,4.9
c2.3-4.6,4.7-6.7,4.7-6.7c-0.8-0.8-2.9-1.2-4.5-1.3l0.1-0.3c1-0.3,3-0.4,4.3-0.5c1.6,0,2.5,0,2.5,0C16,15.1,18.1,14.1,18.9,14z"/>
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="22.1694" y1="39.562" x2="22.1694" y2="4.7469">
<stop offset="0" style="stop-color:#00B387"/>
<stop offset="1" style="stop-color:#00A76D"/>
</linearGradient>
<path class="st5" d="M23.3,33.9c-0.7,1-1.4,1.8-2.2,2.7c-1.2,0.3-2.6,0.2-3.7,0.2l-0.1,0.3c0.8,0.4,1.6,0.7,2.5,0.9
c-0.7,0.6-1.6,1.1-2.3,1.6l-0.1,0.3c1.4-0.3,3.3-0.9,4.7-1.8c0.7,0,1.4,0,1.9-0.1c0,0,0.1-0.3,0.1-0.3c-0.1-0.3-0.4-0.5-0.5-1
c1.3-1,2.2-1.9,3.3-3l0.2-0.3c-1.1,0.7-2.4,1.8-3.6,2.4C23.4,35.1,23.3,34.6,23.3,33.9z"/>
<path class="st6" d="M35.4,11.9c-2.8,1.6-3.7,1.8-6.7,3.6c1.8-1.9,2.4-2.7,3.5-4.4c-2.8,0.1-6.9,0.5-9.8,1.1
c2.5-1.4,7.6-2.9,10.2-3.2C32,8.2,27,5.6,25.7,5c3.9,0.3,8.8,1.8,11.1,3.2c0.9-0.3,1.9-0.3,3.6-0.5C40,8.5,40,9,38.3,10.1
c0.5,1.2-0.6,8.1-1.6,9.9C36.7,17.1,36.4,13.5,35.4,11.9z"/>
<path class="st6" d="M14.9,36.5c-1.6-0.6-2.8-1.3-4-2.5c0.4-1.1,0.8-1.9,1.5-2.9c-1.3,0.2-2.3,0.3-3.4,0.6C8,30,7.6,28.4,7.2,26.3
c-0.3,2.3-0.3,3.9,0,5.7c-1,0.3-1.8,0.5-2.6,0.9c1.2,0.7,2.2,1.3,3.5,1.9c0.7,1.5,1.5,2.6,2.7,3.8c-0.3-1-0.4-1.8-0.2-2.9
C11.9,36.2,13.2,36.4,14.9,36.5z"/>
<path class="st6" d="M19.1,13.7L19.1,13.7c-0.5,0.7-1.1,1.9-1.2,2.4c4.1,0.6,7.5,2.7,7.5,2.7c-3.6-0.6-5.5-0.6-6.9-0.4
c-1.3,0.1-1.6,0.3-1.6,0.3c-1,2.1-1.6,5.8-1.6,5.8c-0.7-1.6-1.6-4.8-1.6-4.8c-1.8,1-6,4.9-6,4.9c2.3-4.6,4.7-6.7,4.7-6.7
c-0.8-0.8-2.9-1.2-4.5-1.3c0.8-0.3,2.9-0.7,4.5-0.8c1.6,0,2.5,0,2.5,0C16.2,14.8,18.3,13.8,19.1,13.7z"/>
<path class="st6" d="M23.5,33.6c-0.7,1-1.4,1.8-2.2,2.7c-1.4,0.4-2.5,0.5-3.9,0.5c0.8,0.4,1.6,0.7,2.5,0.9
c-0.9,0.8-1.6,1.3-2.5,1.9c1.4-0.3,3.3-0.9,4.7-1.8c0.7,0,1.4,0,1.9-0.1c-0.1-0.4-0.2-0.7-0.3-1.3c1.3-1,2.3-1.9,3.3-3
c-1.2,0.8-2.2,1.4-3.5,2C23.5,34.8,23.5,34.3,23.5,33.6z"/>
<path fill="#FFFFFF" d="M62.4,16.6c3.1,0,4.2,0.6,4.2,2.3c0,0.5-0.1,0.9-0.4,1.2c-0.6,0.7-1.7,1.1-3.2,1h-0.1l-0.9,2.2h0.9c1.7,0,3.2,0.5,3.9,1.4
c0.3,0.4,0.5,0.9,0.5,1.4c0,1.7-1.5,2.6-4.5,2.6c-0.5,0-1.3,0-1.8,0c-0.1-2.3-0.1-5.5-0.1-6.4c0-1.1,0.1-3.5,0.1-5.6
C61.3,16.6,61.9,16.6,62.4,16.6z M56.8,15c0.1,1.6,0.2,5.8,0.2,7.3c0,1.4,0,6.1-0.2,8.1l0,0.2H64c3.6,0,7.4-1.1,7.4-4.3
c0-2-1.5-3.5-4.2-4.3c2-0.5,3.4-1.9,3.4-3.5c0-2.6-3-3.6-5.8-3.7h-8.1L56.8,15"/>
<path fill="#FFFFFF" d="M88.3,14.8h-3.6l0.1,4c0.1,2,0.1,4,0.3,5.9c-0.2-0.6-0.4-0.9-1.5-2.5c0-0.1-3.7-5.8-5-7.4l0,0h-4.1V15
c0.1,1.6,0.2,5.8,0.2,7.3c0,1.4,0,6.1-0.2,8.1l0,0.2h3.7v-0.2c-0.2-3.8-0.2-7.7-0.2-11.5c0.1,0.5,0.3,0.8,0.9,1.7
c0,0.1,6.4,9.3,6.7,9.9l0,0.1h3l0-0.2c-0.2-2-0.2-6.7-0.2-8.1c0-1.5,0.1-5.7,0.2-7.3l0-0.1H88.3z"/>
<path fill="#FFFFFF" d="M98,16.7c2.1,0,3.5,0.4,4.2,1.2c0.3,0.4,0.5,0.9,0.5,1.4c0,2.3-2.6,2.8-4.7,2.8l-0.9,0c0,0-0.2,0-0.4,0c0-0.5,0-1.2,0-2
c0-1,0-2.2,0-3.3C97,16.8,97.5,16.7,98,16.7z M92.6,15c0.1,1.6,0.2,5.8,0.2,7.3c0,1.4,0,6.1-0.2,8.1v0.2H97l0-0.2
c-0.1-1.5-0.2-4.2-0.2-6.3c0.2,0,0.8,0,0.8,0l0.6,0c5.8,0,8.6-1.5,8.6-4.7c0-3.7-3.9-4.5-7.2-4.6h-6.9V15"/>
<path fill="#FFFFFF" d="M120.5,16.7c2.1,0,3.5,0.4,4.2,1.2c0.3,0.4,0.5,0.9,0.5,1.4c0,2.3-2.6,2.8-4.7,2.8l-0.9,0c0,0-0.2,0-0.4,0
c0-0.5,0-1.2,0-2c0-1,0-2.2,0-3.3C119.5,16.8,120,16.7,120.5,16.7z M115.1,15c0.1,1.6,0.2,5.8,0.2,7.3c0,1.4,0,6.1-0.2,8.1v0.2
h4.4l0-0.2c-0.1-1.5-0.2-4.2-0.2-6.3c0.2,0,0.8,0,0.8,0l0.6,0c5.8,0,8.6-1.5,8.6-4.7c0-3.7-4-4.5-7.3-4.6h-6.9V15"/>
<path fill="#FFFFFF" d="M136.2,19.5c0.3,0.8,1.3,2.8,2.3,5.3c-0.2,0-0.4,0-0.4,0l-1.9,0c0,0-2,0-2.3,0C134.7,22.8,135.5,21,136.2,19.5z
M135.1,14.8L135.1,14.8L135.1,14.8c-0.9,2.3-6.2,13.8-7,15.6l-0.1,0.2h3.7l0-0.1c0.3-1.1,0.8-2.3,1.3-3.6c0.2,0,3.1,0,3.1,0
l2.6,0c0,0,0.4,0,0.5,0c0.7,1.7,1.2,3,1.4,3.6l0,0.1h4.3l-7-15.8H138H135.1"/>
<path fill="#FFFFFF" d="M146.8,15c0.1,1.6,0.2,5.8,0.2,7.3c0,1.4,0,6.1-0.2,8.1v0.2h4.4l0-0.2c-0.2-2-0.3-6.7-0.3-8.1c0-1.1,0-3.5,0.1-5.5
c0.3,0,0.8-0.1,1.2-0.1c2,0,3.5,0.4,4.2,1.2c0.3,0.4,0.5,0.9,0.5,1.4c0,1.8-1.7,2.7-3.3,2.8c-0.5,0-0.9,0-0.9,0l-0.3-0.1l0.2,0.3
c1.6,2.3,3.9,6.2,4.9,8.1l0,0.1h4.7l-0.1-0.2c-0.2-0.3-3.3-4.8-4.6-6.7c0,0-0.1-0.1-0.1-0.1c2.4-0.7,3.6-2.1,3.6-4.1
c0-3.6-3.9-4.5-7.3-4.6h-6.9L146.8,15z"/>
<path fill="#FFFFFF" d="M168.4,14.8h-4.2l0,0.1c0.1,1.6,0.2,5.8,0.2,7.3c0,1.4,0,6.1-0.2,8.1l0,0.2h4.4l0-0.2c-0.2-2-0.2-6.7-0.2-8.1
c0-1.5,0.1-5.7,0.2-7.3v-0.1H168.4z"/>
<path fill="#FFFFFF" d="M178.1,16.6L178.1,16.6c3.1,0,4.2,0.6,4.2,2.3c0,0.5-0.1,0.9-0.4,1.2c-0.6,0.7-1.7,1.1-3.2,1h-0.1l-0.8,2.2h0.8
c1.7,0,3.1,0.5,3.9,1.4c0.4,0.4,0.5,0.9,0.5,1.4c0,1.7-1.5,2.6-4.6,2.6c-0.5,0-1.3,0-1.8,0c-0.1-2.3-0.1-5.5-0.1-6.4
c0-1.1,0-3.5,0.1-5.6C177,16.6,177.6,16.6,178.1,16.6z M172.5,15c0.1,1.6,0.2,5.8,0.2,7.3c0,1.4,0,6.1-0.2,8.1l0,0.2h7.3
c3.6,0,7.4-1.1,7.4-4.3c0-2-1.5-3.5-4.2-4.3c2-0.5,3.4-1.9,3.4-3.5c0-2.6-3-3.6-5.8-3.7h-8.1L172.5,15"/>
<path fill="#FFFFFF" d="M196.1,19.4c0.4,0.7,1.3,2.8,2.3,5.3c-0.2,0-0.3,0-0.3,0l-1.9,0c0,0-2,0-2.3,0C194.6,22.8,195.4,21,196.1,19.4z
M197.9,14.8H195l0,0.1c-0.9,2.4-6.4,14.5-6.9,15.5l-0.1,0.2h3.8l0-0.1c0.3-1.1,0.7-2.3,1.2-3.6c0.1,0,3.1,0,3.1,0l2.6,0
c0,0,0.5,0,0.5,0c0.7,1.7,1.2,3,1.4,3.6l0,0.1h4.3L197.9,14.8L197.9,14.8"/>
<path fill="#FFFFFF" d="M206.3,18.9c0,2.8,2.8,3.9,5.2,4.9c1.9,0.8,3.9,1.6,3.9,2.9c0,0.4-0.1,0.7-0.3,1c-0.5,0.5-1.4,0.8-2.9,0.7
c-1.5-0.1-3.1-0.5-5-1.4l-0.7-0.4v0.6V30l0.5,0.1l0.3,0c0.9,0.2,2.7,0.6,4.4,0.6c4.6,0,7.4-1.8,7.4-4.9c0-2.9-2.8-4-5.4-5
c-1.9-0.8-3.8-1.5-3.8-2.7c0-0.4,0-1.4,2.4-1.4c1.8,0,3.5,0.7,4.5,1.1l0.9,0.4l0-0.6v-2.9l-0.9-0.2c-0.9-0.2-2.4-0.5-3.9-0.5
C208.9,14.2,206.3,16.1,206.3,18.9z"/>
</g>
</switch>
</svg>