BBO Extractor

Release Notes

BBOtoXML version 2.0.0 - 25th February 2023

This release contains the following new features:

  1. XML imports of Teams, Swiss Teams, and Swiss Pairs events are no longer required to have barometer movements, i.e. face to face events can be imported
  2. Swiss Teams with triangles are now supported, including generation of Masterpoints. Note that Swiss Pairs events with triangles are NOT yet supported
  3. Session merging of Teams, Swiss Teams, or Swiss Pairs events, with barometer or non-barometer movements is supported
  4. Merging multiple sections of Teams, Swiss Teams, or Swiss Pairs events requires that the sections have the same number of rounds and boards per round

BBOtoXML version 1.7 - 5th March 2021

This release contains the following new features:

  1. Individual tournaments (matchpointed or cross imps) are now supported by BBO Extractor and BBOtoXML. Substitutes are identified and associated to the correct player automatically if no more than one new substitute appears on a traveller. Any remaining substitutes can be assigned to the correct player manually by choosing entries from dropdown lists on the BBOtoXML import screen. Note that merging of sections or sessions for Individuals is not currently supported
  2. Player names can be edited. Importing a CSV or XML file to BBOtoXML displays a ranking list on the import screen. Click on a player name to display a dialog box which allows the name to be corrected. Save as a new CSV when all edits have been completed.
  3. Imported XML files for teams events sometimes contains multiple pair numbers for the same pair in a team, with slightly different spellings of the player names. If the names are edited in BBOtoXML so that both pairs have the same names, BBOtoXML will display an option to merge the two pairs into a single pair.

BBOtoXML version 1.6.6 - 18th January 2021

v1.6.6 is a minor release which allows a larger range of values to be used when editing a traveller to replace a score with an average.

In the previous release, only percentage values which were a multiple of 10 were allowed, e.g. 40%, 50%, 60%, 70%

Release 1.6.6 allows any whole number percentage value between 0% and 99% to be entered. For cross-imp pairs events the percentage is converted to cross imps by the formula 2*(percent-50)/10 (i.e. 2 cross imps per 10% increment, with interpolation of intermediate values). For teams events the percentage is converted to imps by the formula 3*(percent-50)/10 (i.e. 3 imps per 10% increment), and intermediate values are then rounded to the nearest whole number of imps.

BBOtoXML webapp version 1.6.5 - 18th December 2020

This release provides support for handicaps for matchpointed pairs.

Handicaps can be added either to the csv results from BBO or to the imported xml results from RealBridge or other playing platforms.

To add handicaps to results:

  1. Click on 'Import/Edit/Merge' and select the csv or xml results file.

  2. Click on 'Handicaps' on the menu and select a handicap file.The ranking list with the handicaps applied is displayed.

  3. Click on 'Save as CSV' and Go Back to the main screen. You can then create an xml file, containing handicaps, by selecting the saved csv file.

    The names in the handicap file must match the names in the results file. If a csv file from BBO is to be imported, click on 'Load Names' on the main screen before applying handicaps.

    The resulting xml file can be uploaded to EBU/UMS and other NBOs, in which case handicaps will be ignored.

    Handicap Files

    Handicap files are typically produced by scoring programs like EBUscore, ScoreBridge, BridgeScore. Handicaps can also be calculated and downloaded from Bridgewebs. Handicap files have to be in a prescribed format - see here for an example. Also see here for a handicap file based on NGS%. When handicaps are based on NGS%, BBOtoXML will calculate an average NGS for the event and then the handicap will be the difference between this average and the NGS% in the handicap file.

    Bridgewebs display

    Handicapped results can be displayed on Bridgewebs in two different formats, depending on your website settings. The handicaps can be shown on a separate 'Handicap' tab or on the same screen as normal results.

    BBOtoXML webapp version 1.6 - 10th November 2020
    1. Teams with more than 2 pairs are now supported, for example when importing XML files from RealBridge, or when merging BBO Teams matches where one or more different pairs plays in one of the matches being merged.
    2. The review screen displayed by the Import/Edit/Merge function now includes a ranking list. This ranking list includes an Adjustment column which enables an overall adjustment to be applied to an individual pair or team. the units of the adjustment are matchpoints, cross-imps, Imps, or VPs depending on the match scoring type.
    3. A new menu button on the "Edit Scores" screen allows a new row to be added to an existing traveller.
    4. A row can be deleted from a traveller by changing the contract to "NP" (Not Played) on the "Edit Scores" screen.
    5. SBU Masterpoint calculation has been updated.

    BBOtoXML webapp version 1.5.3 - 17th October 2020
    1. Swiss Pairs with match scoring type PERCENTAGE are now supported. To specify this, use Import/Edit/Merge menu button to open the CSV file, change match scoring type to PERCENTAGE, and save the CSV.
    2. If an output XML file is larger than 2 MBytes the user is presented with the option to generate an additional condensed version of the XML file for EBU UMS upload (EBU UMS currently has a 2 MByte limit). This will only occur for very large events - roughly speaking, (number of tables x number of boards) > 2000
    3. Teams numbering changed from 1NS 1EW to 1:1 1:2

    BBOtoXML webapp version 1.5 - 8th October 2020
    1. There is now a single Create XML button which creates a file suitable for upload to EBU UMS as well as Bridgewebs, Pianola, Bridgecloud, etc.
    2. EBU Green points are now calculated for county Swiss Pairs and Swiss Teams events (use UMS Code 60). Thanks are due to Jeff Smith for help with this.
    3. There is a new USEBIO XML event import facility (the "Review/Edit/Merge CSV" button is now renamed "Import/Edit/Merge CSV/XML". This currently works for Pairs events, and some Teams events. This means that BBOtoXML can accept files from other online bridge systems, e.g. RealBridge, or from scoring programs. Uses of this facility include:
      • adjusting scores
      • calculating masterpoints relevant to the NBO under which the event was played
      • rescoring using Neuberg if the original event was not scored in this manner
      • merging sections played on different platforms with the same boards (for example, a Face to Face session with an online session)
      • merging sessions, providing the imported files contain LIN_DATA fields (which include deal definitions identifying the boards)
      • creating a PBN file, including makeable contracts and optimum contracts/scores calculated by BBOtoXML, providing the imported XML file(s) include LIN_DATA fields

    To import an XML file perform the following steps:

    1. Click on "Import/Edit/Merge CSV/XML" on the menu bar
    2. Browse to and select a USEBIO XML file rather than a CSV file.
    3. Click on "Save CSV" to save the imported file as a CSV file in the browser's Downloads folder.
    4. You can also click on "Create PBN" in case you don't have a PBN file, or if the supplied PBN file did not include makeable contracts/optimum scores
    5. Click "Go back" to return to the BBOtoXML main screen
    6. Make sure you have selected the correct options for masterpoint generation
    7. Click "Create XML file" to generate the XML output file for upload. Select the CSV file that you saved at step 3.

    BBOtoXML webapp version 1.4 - 26th August 2020

    The new release supports a generalised merging capability for both multiple sections, and multiple sessions, for Pairs and Teams events. For example, this enables merging of individual Teams of Four matches to form Multiple Teams events, scored either with IMP or VPS, or Swiss Teams events.

    VP scales supported are "WBF Continuous" and "WBF Discrete" (as well as "BBO VP20" for those who are especially fond of them).

    WBF Continuous scales for Ximp Swiss Pairs use the "Cross-Imps/Comparison" VP scale for SBU and "Cross-ImpsToVPs(/sqr(rc/2))" (Probst formula?) for others.

    Help on the new features has been included on the BBOtoXML "Review/Edit/Merge" page.

    Bridgewebs users who upload results for Teams & Swiss Pairs events are advised to upgrade to version 2.19o of Bridgwebs to benefit from display improvements.

    BBOtoXML webapp version 1.3 - 5th August 2020

    Supports conversion of BBO Swiss Teams events. Awards per match are calculated for EBU (36+ boards and 6+ boards per round), SBU (20+ boards/5+ boards per round), WBU (36+ boards, 1+ bpr).

    BBOtoXML webapp version 1.2.9 - 1st August 2020

    Version 1.2.9 includes several new features:

    • More features for Swiss Pairs events:
      1. Adds support for imp scored swiss pairs
      2. Adds calculation of masterpoints for other NBOs (SBU, WBU)
      3. Adds calculation of blue and green masterpoints for EBU events
    • Support for merging two or more Pairs or Swiss Pairs BBO tournaments, providing that they are components of a multi-section event. This is possible if:
      1. They all use the same scoring type (matchpoints or cross imps)
      2. They are all single winner, or all two winner
      3. All the tournaments being merged played the same set of boards
      4. No player name appears in more than one of the tournaments.

    BBOtoXML will report an error, and will not do the merge, if any of the above conditions is not met.

    The procedure for merging is similar that for merging two Teams of Four matches:

    • Run BBO Extractor to produce a CSV file and PBN file for each event (all PBN files will of course have the same content, as each section played the same boards)
    • Run BBOtoXML. Select "Review/Edit CSV" to load the first Event. . Select "Merge CSV" to load the second event.
    • Repeat step 3 for all events that are to be merged.
    • Two new buttons will appear - "Generate PBN" and "Save CSV" (however, for merging sections you do not need to generate a new PBN file because you already have a file from step 1 that contains all the boards)
    • You can edit the title of the combined event and the date
    • Use the "Save CSV" button to create a CSV file for the combined event
    • Click on Go Back to go back to the main BBOtoXML screen.
    • Click on "Create XML..." and select the CSV of the merged event to generate the XML for the merged event

    BBOtoXML webapp version 1.2.8 - 10th July 2020

    Version 1.2.8 includes several new features:

    1. Phase 1 of Swiss Pairs support - see Notes below

    2. A League match between two teams of four can be played on BBO as two events, with the NS and EW pairs of one team swapping places for the second event. Such events can now be merged in BBOtoXML and uploaded as a single event to Bridgewebs, Pianola, EBU/UMS etc. See Notes below.

    3. Date and Event Title can be edited (use the Review/Edit CSV menu button). See Notes below

    4. Scoring now calculates a true Ave+, or Ave-, e.g. if 60% is entered, and the pair scored an average of more than 60% across other boards, then that value is used in place of 60%


    Swiss Pairs:

    • BBOtoXML assumes that a Swiss Pairs event is identified by the word 'swiss' is in the event description/title.
    • In this release, Swiss pairs are currently supported for match points only. Cross-imps support will follow.
    • Percentage to VP conversion table is from the EBU White book.
    • Standard masterpoints are supported. Additional awards issued per match won are supported for EBU only in this release, for 36+ boards and 6+ boards per round. Additional awards for other NBOs will follow
    • Sitouts in Swiss Pairs are not supported

    League Matches between two Teams of Four, played as two BBO events:

    1. Run BBO Extractor to produce a CSV file for each event
    2. Run BBOtoXML. Select "Review/Edit CSV" to load the first Teams Event.
    3. Select "Merge CSV" to load the second Teams event.
    4. Two new buttons will appear - "Generate PBN" and "Save CSV"
    5. You can edit the title of the combined event and the date
    6. Use the two buttons to generate a PBN file for the combined event and a CSV file for the combined event (boards for the second event are automatically renumbered, e.g 17 upwards, or 33 upwards, to preserve the vulnerability pattern)
    7. Click on Go Back to go back to the main BBOtoXML screen.
    8. Click on "Create XML..." and select the CSV of the merged event to generate the XML for the merged event

    The above procedure requires that the same player names appear in both events, i.e. the names have to be identical, though it will normally be the case that EW and NS have swapped places in one of the teams.

    Modification of Date

    The BBO results pages always appear to show the date in the time zone of the BBO server, irrespective of the location of the person who is extracting the event data. This means, for example, that ACBL evening events may have the wrong date, depending on the time at which the event commenced. The date modification feature provides a way of correcting this prior to conversion to XML.

    BBOtoXML webapp version 1.2.7 - 5th July 2020

    Changes in the BBOtoXML release v1.2.7:

    1. EBU masterpoints now supported for 25+ tables single winner movements

    2. ABF masterpoints – new implementation.

    3. CBAI masterpoints updated.

    4. ACBL multicoloured masterpoints and strats implemented.

    BBO Extractor Version 1.3.1 - 25th June 2020

    This release speeds up the extraction process. When the extractor is updated in the browser, you will be asked to allow new permissions.

    BBOtoXML webapp version 1.2.5 - 23rd June 2020

    This release adds several new features:

    1. Contract/Score editing, which means it is no longer necessary to import the XML file produced by BBOtoXML into a scoring program, if the only reason for doing so is to correct scores
    2. It's now possible to generate a list of "missing names", i.e. bbonames who played in the event, but for which no match was found in the names file
    3. It's also possible to generate a list of "missing NBO IDs", i.e. bbonames who played in the event, and had a matching player name, but had no NBO Player ID in the names file
    4. List of identified substitutions. Almost all cases where substitutions occur are now detected and resolved automatically. BBOtoXML can show a "substitutions table" which lists, for each pair number where substitution occurred, all the pair names identified as corresponding to that pair number

    See BBOtoXML Web App for details.

    BBOtoXML webapp version 1.2.4 - 22nd June 2020

    The Masterpoint area has been redesigned to support not just EBU but also some other bridge unions. EBU, ACBL and SBU (Scotland) master points are now supported, work is still in progress to complete the masterpoints for the other bridge unions.

    BBO Extractor Version 1.2.8 - 7th June 2020


    1. Bug fix in Team support for matches between 2 Teams of Four. When a tournament page is retrieved via a hand record search, rather than via the BBO tournament history, it has an additional parameter of the form "u=bboname", where bboname is the username of a player. If that particular player played East/West in the match, then the polarity of the results on the tournament page is shown reversed, but BBO Extractor did not take account of this. The issue has been corrected in the new release.
    2. Allocated NS and EW pair numbers now fall into two non-overlapping ranges. Previously they could be interspersed in the case of a multi-section event, and this situation could not be handled correctly by EBUScore if the event was imported.
    3. More cases where substitutions occur, or where a robot pair is used, are now resolved automatically (i.e. the pair number is allocated automatically, rather than requiring the CSV to be edited to resolve pair numbers with a "Sub" prefix)
    4. Conversion from bbonames to player names now includes substituting the player names in the BBO play data, so that they will be displayed in the top left of the Bridge Solver Online display (when clicking on a "Play" link in the last column of a Bridgewebs traveller).

    BBO Extractor Version 1.2.6 and
    BBOtoXML webapp Version 1.2.3 - 3rd June 2020

    The latest releases of BBO Extractor (v1.2.6) and BBOtoXML (v1.2.3) now support extraction and conversion to XML for BBO matches of two Teams of Four.

    BBO Extractor Version 1.2.4-1.2.5 - 19 May 2020

    The latest release of BBO Extractor now completes the extraction process much faster for large events. Previously, it used to obtain the detailed results by scanning player scorecards. The new release is optimised to minimise the number of BBO retrievals required, by scanning either scorecards or travellers depending on the relative number of pairs and boards. For example, for a 24 board event with fewer than 12 tables it is more efficient to scan scorecards, but for a larger number of tables it is quicker to scan travellers. This means that extracting the results for an event with 90 tables will take no longer than for an event with 12 tables, assuming a 24 board event in both cases.

    This improvement is implemented in BBO Extractor v1.2.4 onward (now v1.2.5). Your chrome browser will normally update automatically if you close all browser windows and re-open it.

    We have also updated the website. In particular it now contains more detail about uploading to Bridgewebs. This procedure has been a source of confusion to some clubs, who have uploaded the XML file produced by BBOtoXML, but at the same time have attempted to utilise the "BBO Online" tab in Bridgewebs results admin to link to a BBO version of the results. Doing the latter overrides some of the data uploaded via the XML route, with unpredictable effects on the Bridgewebs results display. Hopefully, this will be fixed in BridgeWebs soon, but please make others, who may not be on our contacts list, aware of this issue and of the aforementioned link.

    With the recent enhancements we believe that BBO Extractor/BBOtoXML is now the best solution for getting detailed results from a BBO tournament onto a club website:

    1. Completely browser based, so runs on PC or Mac (using google chrome, or any browser that supports chrome extensions, e.g latest downloadable version of Microsoft Edge). Can even run on android phone/tablet using Yandex browser.
    2. Choice of Neuberg scoring, or matching BBO Results (which do not use Neuberg)
    3. Optimises extraction speed depending on relative number of tables and pairs in a tournament.
    4. When uploaded to BridgeWebs, displays a "play" link for each row of the Bridgewebs traveller, allowing bidding/play of the hand at any table to be reviewed/replayed/explored with double dummy card by card guidance.

    BBOtoXML webapp Version 1.2.0 - 15 May 2020
    1. It is now possible to perform the BBO names to player names conversion in this app, rather than in BBO Extractor. Use the "Load Names" button to import the names prior to clicking on "Create XML...".

    2. The previous version of the app presented the results as calculated by BBO. However, BBO does not apply the Neuberg formula, which is generally used with electronic scoring. Therefore, we have introduced the option to enable Neuberg scoring. For compatibility with the previous app version, the default setting when the new app is initially loaded is still "Scoring Matches BBO", but if "Enhanced Scoring (Neuberg)" is selected it will become the new default for subsequent sessions unless deselected again. Selecting Neuberg scoring may of course affect pair ranking order in some cases, such that it is different to the order shown on BBO's own results pages.